Skip to contentSkip to conversation

Remove obsolete __MODULE_STRING()

PATCH Applied Petr Pavlu 6 participants 15 messages Oct 2 – Nov 11

Subsystems (19)
lore
Share & tools
lore

Petr Pavlu

author maintainer
#0 lore raw

v2 cover Remove obsolete __MODULE_STRING()

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() and remove the macro.

Apologies for the wide distribution. Acked-bys are appreciated.

[1] https://git.kernel.org/tglx/history/c/136839a1b4

---
Changes in v2:
- Rebase on top of next-20260930.
- Drop 'watchdog: Replace __MODULE_STRING() with __stringify()' since it has already been queued on watchdog-next.
- Split the hwmon changes into a separate patch.
- Link to v1: https://patch.msgid.link/[email protected]

---
Petr Pavlu (3):
hwmon: Replace __MODULE_STRING() with __stringify()
drivers: Replace __MODULE_STRING() with __stringify()
module: Remove obsolete __MODULE_STRING()

 drivers/comedi/comedi_fops.c                          |  5 +++--
 drivers/gpu/drm/drm_fb_helper.c                       |  3 ++-
 drivers/hwmon/fschmd.c                                |  3 ++-
 drivers/hwmon/nct7904.c                               |  5 +++--
 drivers/hwmon/sch56xx-common.c                        |  3 ++-
 drivers/hwmon/w83793.c                                |  5 +++--
 drivers/i2c/busses/i2c-kempld.c                       |  3 ++-
 drivers/net/ethernet/atheros/atl1e/atl1e_param.c      |  9 +++++----
 drivers/net/ethernet/atheros/atlx/atl1.c              |  3 ++-
 drivers/net/ethernet/atheros/atlx/atl2.c              | 11 ++++++-----
 drivers/net/ethernet/intel/e1000/e1000_param.c        | 15 ++++++++-------
 drivers/net/ethernet/intel/e1000e/param.c             | 16 ++++++----------
 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c |  7 ++++---
 drivers/platform/cznic/turris-omnia-mcu-watchdog.c    |  3 ++-
 drivers/rtc/rtc-ds1374.c                              |  3 ++-
 drivers/thunderbolt/tb.c                              |  3 ++-
 drivers/thunderbolt/tunnel.c                          |  5 +++--
 drivers/tty/serial/8250/8250_platform.c               |  3 ++-
 drivers/usb/atm/speedtch.c                            | 15 ++++++++-------
 drivers/usb/atm/usbatm.c                              | 17 +++++++++--------
 include/linux/module.h                                |  4 ----
 21 files changed, 76 insertions(+), 65 deletions(-)

---
base-commit: 6c2cb8b8b843d216ab549b678a0d8831c43153e0
change-id: 20260919-module-string-d64816f203d9

author maintainer
#1 lore raw

PATCH v2 1/3 hwmon: Replace __MODULE_STRING() with __stringify()

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() in preparation for its removal.

---
 drivers/hwmon/fschmd.c         | 3 ++-
 drivers/hwmon/nct7904.c        | 5 +++--
 drivers/hwmon/sch56xx-common.c | 3 ++-
 drivers/hwmon/w83793.c         | 5 +++--
 4 files changed, 10 insertions(+), 6 deletions(-)
drivers/hwmon/fschmd.c +2 -1
index 019fc32bf318..df9418a86c83 100644
@@ -35,6 +35,7 @@
 #include <linux/miscdevice.h>
 #include <linux/uaccess.h>
 #include <linux/kref.h>
+#include <linux/stringify.h>
 
 /* Addresses to scan */
 static const unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
@@ -43,7 +44,7 @@ static const unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
 static bool nowayout = WATCHDOG_NOWAYOUT;
 module_param(nowayout, bool, 0);
 MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
-	__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+	__stringify(WATCHDOG_NOWAYOUT) ")");
 
 enum chips { fscpos, fscher, fscscy, fschrc, fschmd, fschds, fscsyl };
 
drivers/hwmon/nct7904.c +3 -2
index 976b8a008e44..04e1a8e6db37 100644
@@ -23,6 +23,7 @@
 #include <linux/i2c.h>
 #include <linux/hwmon.h>
 #include <linux/watchdog.h>
+#include <linux/stringify.h>
 
 #define VENDOR_ID_REG		0x7A	/* Any bank */
 #define NUVOTON_ID		0x50
@@ -113,12 +114,12 @@
 static int timeout;
 module_param(timeout, int, 0);
 MODULE_PARM_DESC(timeout, "Watchdog timeout in minutes. 1 <= timeout <= 255, default="
-			__MODULE_STRING(WATCHDOG_TIMEOUT) ".");
+			__stringify(WATCHDOG_TIMEOUT) ".");
 
 static bool nowayout = WATCHDOG_NOWAYOUT;
 module_param(nowayout, bool, 0);
 MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
-			__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+			__stringify(WATCHDOG_NOWAYOUT) ")");
 
 static const unsigned short normal_i2c[] = {
 	0x2d, 0x2e, I2C_CLIENT_END
drivers/hwmon/sch56xx-common.c +2 -1
index a385aae3bb0f..febb8ba7dc2c 100644
@@ -18,13 +18,14 @@
 #include <linux/watchdog.h>
 #include <linux/uaccess.h>
 #include <linux/slab.h>
+#include <linux/stringify.h>
 #include "sch56xx-common.h"
 
 /* Insmod parameters */
 static bool nowayout = WATCHDOG_NOWAYOUT;
 module_param(nowayout, bool, 0);
 MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
-	__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+	__stringify(WATCHDOG_NOWAYOUT) ")");
 
 #define SIO_SCH56XX_LD_EM	0x0C	/* Embedded uController Logical Dev */
 #define SIO_UNLOCK_KEY		0x55	/* Key to enable Super-I/O */
drivers/hwmon/w83793.c +3 -2
index c6ef04c69856..e1f2708b5db6 100644
@@ -34,6 +34,7 @@
 #include <linux/notifier.h>
 #include <linux/reboot.h>
 #include <linux/jiffies.h>
+#include <linux/stringify.h>
 
 /* Default values */
 #define WATCHDOG_TIMEOUT 2	/* 2 minute default timeout */
@@ -57,13 +58,13 @@ static int timeout = WATCHDOG_TIMEOUT;	/* default timeout in minutes */
 module_param(timeout, int, 0);
 MODULE_PARM_DESC(timeout,
 	"Watchdog timeout in minutes. 2<= timeout <=255 (default="
-				__MODULE_STRING(WATCHDOG_TIMEOUT) ")");
+				__stringify(WATCHDOG_TIMEOUT) ")");
 
 static bool nowayout = WATCHDOG_NOWAYOUT;
 module_param(nowayout, bool, 0);
 MODULE_PARM_DESC(nowayout,
 	"Watchdog cannot be stopped once started (default="
-				__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+				__stringify(WATCHDOG_NOWAYOUT) ")");
 
 /*
  * Address 0x00, 0x0d, 0x0e, 0x0f in all three banks are reserved
Signature · 1 line
2.55.0
#2 lore raw

Re: [PATCH v2 1/3] hwmon: Replace __MODULE_STRING() with __stringify()

Sashiko has reviewed this patch and found no issues. It looks great!
Quoted 9 lines

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() in preparation for its removal.

Sashiko has reviewed this patch and found no issues. It looks great!

Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
Reviewed-by on v2 1/3
#3 lore raw

RE: [PATCH v2 1/3] hwmon: Replace __MODULE_STRING() with __stringify()

In reply to Petr Pavlu
Quoted 153 lines

-----Original Message-----
From: Petr Pavlu <[email protected]>
Sent: Friday, October 2, 2026 10:31 AM
To: Wim Van Sebroeck <[email protected]>; Guenter Roeck <[email protected]>; Ian Abbott <[email protected]>; H Hartley Sweeten <[email protected]>; Maarten Lankhorst <[email protected]>; Maxime Ripard <[email protected]>; Thomas Zimmermann <[email protected]>; David Airlie <[email protected]>; Simona Vetter <[email protected]>; Rudolf Marek <[email protected]>; Andi Shyti <[email protected]>; Chris Snook <[email protected]>; Andrew Lunn <[email protected]>; David S. Miller <[email protected]>; Eric Dumazet <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni <[email protected]>; Nguyen, Anthony L <[email protected]>; Kitszel, Przemyslaw <[email protected]>; Marek Behún <[email protected]>; Alexandre Belloni <[email protected]>; Andreas Noever <[email protected]>; Mika Westerberg <[email protected]>; Yehezkel Bernat <[email protected]>; Greg Kroah-Hartman <[email protected]>; Jiri Slaby <[email protected]>; Duncan Sands <[email protected]>; Chas Williams <[email protected]>; Luis Chamberlain <[email protected]>; Petr Pavlu <[email protected]>; Daniel Gomez <[email protected]>; Sami Tolvanen <[email protected]>; Aaron Tomlin <[email protected]>
Cc: Wolfram Sang <[email protected]>; linux- [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; linux- [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]
Subject: [PATCH v2 1/3] hwmon: Replace __MODULE_STRING() with __stringify()

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() in preparation for its removal.

---
 drivers/hwmon/fschmd.c         | 3 ++-
 drivers/hwmon/nct7904.c        | 5 +++--
 drivers/hwmon/sch56xx-common.c | 3 ++-
 drivers/hwmon/w83793.c         | 5 +++--
 4 files changed, 10 insertions(+), 6 deletions(-)
drivers/hwmon/fschmd.c index renamed from drivers/hwmon/fschmd.c +0 -0

019fc32bf318..df9418a86c83 100644

drivers/hwmon/fschmd.c +1 -0
@@ -35,6 +35,7 @@
 #include <linux/miscdevice.h>
 #include <linux/uaccess.h>
 #include <linux/kref.h>
+#include <linux/stringify.h>
 
 /* Addresses to scan */
 static const unsigned short normal_i2c[] = { 0x73, I2C_CLIENT_END };
@@ -43,7 +44,7 @@ static const unsigned short normal_i2c[] = { 0x73,
 I2C_CLIENT_END };  static bool nowayout = WATCHDOG_NOWAYOUT;

module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="

drivers/hwmon/fschmd.c +1 -1
-	__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+	__stringify(WATCHDOG_NOWAYOUT) ")");
 
 enum chips { fscpos, fscher, fscscy, fschrc, fschmd, fschds, fscsyl

};

drivers/hwmon/nct7904.c index renamed from drivers/hwmon/nct7904.c +0 -0

976b8a008e44..04e1a8e6db37 100644

drivers/hwmon/nct7904.c +1 -0
@@ -23,6 +23,7 @@
 #include <linux/i2c.h>
 #include <linux/hwmon.h>
 #include <linux/watchdog.h>
+#include <linux/stringify.h>
 
 #define VENDOR_ID_REG		0x7A	/* Any bank */
 #define NUVOTON_ID		0x50
@@ -113,12 +114,12 @@
 static int timeout;
 module_param(timeout, int, 0);
 MODULE_PARM_DESC(timeout, "Watchdog timeout in minutes. 1 <= timeout

<= 255, default="

drivers/hwmon/nct7904.c +1 -1
-			__MODULE_STRING(WATCHDOG_TIMEOUT) ".");
+			__stringify(WATCHDOG_TIMEOUT) ".");
 
 static bool nowayout = WATCHDOG_NOWAYOUT;  module_param(nowayout,

bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="

drivers/hwmon/nct7904.c +1 -1
-			__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+			__stringify(WATCHDOG_NOWAYOUT) ")");
 
 static const unsigned short normal_i2c[] = {
 	0x2d, 0x2e, I2C_CLIENT_END
drivers/hwmon/sch56xx- renamed from drivers/hwmon/sch56xx-common.c +0 -0

common.c index a385aae3bb0f..febb8ba7dc2c 100644

drivers/hwmon/sch56xx-common.c +1 -0
@@ -18,13 +18,14 @@
 #include <linux/watchdog.h>
 #include <linux/uaccess.h>
 #include <linux/slab.h>
+#include <linux/stringify.h>
 #include "sch56xx-common.h"
 
 /* Insmod parameters */
 static bool nowayout = WATCHDOG_NOWAYOUT;  module_param(nowayout,

bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="

drivers/hwmon/sch56xx-common.c +1 -1
-	__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+	__stringify(WATCHDOG_NOWAYOUT) ")");
 
 #define SIO_SCH56XX_LD_EM	0x0C	/* Embedded uController Logical Dev

*/
#define SIO_UNLOCK_KEY 0x55 /* Key to enable Super-I/O */

drivers/hwmon/w83793.c index renamed from drivers/hwmon/w83793.c +0 -0

c6ef04c69856..e1f2708b5db6 100644

drivers/hwmon/w83793.c +1 -0
@@ -34,6 +34,7 @@
 #include <linux/notifier.h>
 #include <linux/reboot.h>
 #include <linux/jiffies.h>
+#include <linux/stringify.h>
 
 /* Default values */
 #define WATCHDOG_TIMEOUT 2	/* 2 minute default timeout */
@@ -57,13 +58,13 @@ static int timeout = WATCHDOG_TIMEOUT;	/*

default timeout in minutes */
module_param(timeout, int, 0);
MODULE_PARM_DESC(timeout,

drivers/hwmon/w83793.c +1 -1
 	"Watchdog timeout in minutes. 2<= timeout <=255 (default="
-				__MODULE_STRING(WATCHDOG_TIMEOUT) ")");
+				__stringify(WATCHDOG_TIMEOUT) ")");
 
 static bool nowayout = WATCHDOG_NOWAYOUT;  module_param(nowayout,

bool, 0); MODULE_PARM_DESC(nowayout,

drivers/hwmon/w83793.c +1 -2
 	"Watchdog cannot be stopped once started (default="
-				__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+				__stringify(WATCHDOG_NOWAYOUT) ")");
 
 /*
  * Address 0x00, 0x0d, 0x0e, 0x0f in all three banks are reserved
 
--
Quoted 1 line

2.55.0

maintainer Applied
#4 lore raw

Re: [PATCH v2 1/3] hwmon: Replace __MODULE_STRING() with __stringify()

In reply to Petr Pavlu
Quoted 10 lines · Petr Pavlu

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() in preparation for its removal.

Applied.

Thanks,
Guenter

author maintainer
#5 lore raw

PATCH v2 2/3 drivers: Replace __MODULE_STRING() with __stringify()

In reply to Petr Pavlu

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() in preparation for its removal.

---
 drivers/comedi/comedi_fops.c                          |  5 +++--
 drivers/gpu/drm/drm_fb_helper.c                       |  3 ++-
 drivers/i2c/busses/i2c-kempld.c                       |  3 ++-
 drivers/net/ethernet/atheros/atl1e/atl1e_param.c      |  9 +++++----
 drivers/net/ethernet/atheros/atlx/atl1.c              |  3 ++-
 drivers/net/ethernet/atheros/atlx/atl2.c              | 11 ++++++-----
 drivers/net/ethernet/intel/e1000/e1000_param.c        | 15 ++++++++-------
 drivers/net/ethernet/intel/e1000e/param.c             | 16 ++++++----------
 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c |  7 ++++---
 drivers/platform/cznic/turris-omnia-mcu-watchdog.c    |  3 ++-
 drivers/rtc/rtc-ds1374.c                              |  3 ++-
 drivers/thunderbolt/tb.c                              |  3 ++-
 drivers/thunderbolt/tunnel.c                          |  5 +++--
 drivers/tty/serial/8250/8250_platform.c               |  3 ++-
 drivers/usb/atm/speedtch.c                            | 15 ++++++++-------
 drivers/usb/atm/usbatm.c                              | 17 +++++++++--------
 16 files changed, 66 insertions(+), 55 deletions(-)
drivers/comedi/comedi_fops.c +3 -2
index c09bbe04be6c..05d14839c5a6 100644
@@ -29,6 +29,7 @@
 #include <linux/io.h>
 #include <linux/uaccess.h>
 #include <linux/compat.h>
+#include <linux/stringify.h>
 
 #include "comedi_internal.h"
 
@@ -82,14 +83,14 @@ unsigned int comedi_default_buf_size_kb = CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB;
 module_param(comedi_default_buf_size_kb, uint, 0644);
 MODULE_PARM_DESC(comedi_default_buf_size_kb,
 		 "default asynchronous buffer size in KiB (default "
-		 __MODULE_STRING(CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB) ")");
+		 __stringify(CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB) ")");
 
 unsigned int comedi_default_buf_maxsize_kb =
 	CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB;
 module_param(comedi_default_buf_maxsize_kb, uint, 0644);
 MODULE_PARM_DESC(comedi_default_buf_maxsize_kb,
 		 "default maximum size of asynchronous buffer in KiB (default "
-		 __MODULE_STRING(CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB) ")");
+		 __stringify(CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB) ")");
 
 static DEFINE_MUTEX(comedi_board_minor_table_lock);
 static struct comedi_device
drivers/gpu/drm/drm_fb_helper.c +2 -1
index d4664ed468b2..36009bb02c25 100644
@@ -31,6 +31,7 @@
 
 #include <linux/console.h>
 #include <linux/export.h>
+#include <linux/stringify.h>
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_drv.h>
@@ -54,7 +55,7 @@ static int drm_fbdev_overalloc = CONFIG_DRM_FBDEV_OVERALLOC;
 module_param(drm_fbdev_overalloc, int, 0444);
 MODULE_PARM_DESC(drm_fbdev_overalloc,
 		 "Overallocation of the fbdev buffer (%) [default="
-		 __MODULE_STRING(CONFIG_DRM_FBDEV_OVERALLOC) "]");
+		 __stringify(CONFIG_DRM_FBDEV_OVERALLOC) "]");
 
 /*
  * In order to keep user-space compatibility, we want in certain use-cases
drivers/i2c/busses/i2c-kempld.c +2 -1
index 9b4c7cba62b6..d0438960c272 100644
@@ -13,6 +13,7 @@
 #include <linux/i2c.h>
 #include <linux/delay.h>
 #include <linux/mfd/kempld.h>
+#include <linux/stringify.h>
 
 #define KEMPLD_I2C_PRELOW	0x0b
 #define KEMPLD_I2C_PREHIGH	0x0c
@@ -66,7 +67,7 @@ struct kempld_i2c_data {
 static unsigned int bus_frequency = KEMPLD_I2C_FREQ_STD;
 module_param(bus_frequency, uint, 0);
 MODULE_PARM_DESC(bus_frequency, "Set I2C bus frequency in kHz (default="
-				__MODULE_STRING(KEMPLD_I2C_FREQ_STD)")");
+				__stringify(KEMPLD_I2C_FREQ_STD)")");
 
 static int i2c_bus = -1;
 module_param(i2c_bus, int, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c +5 -4
index 6b1d6df8da97..ff3423a4dc2e 100644
@@ -7,6 +7,7 @@
  */
 
 #include <linux/netdevice.h>
+#include <linux/stringify.h>
 
 #include "atl1e.h"
 
@@ -181,7 +182,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter)
 			.type = range_option,
 			.name = "Transmit Ddescription Count",
 			.err  = "using default of "
-				__MODULE_STRING(ATL1E_DEFAULT_TX_DESC_CNT),
+				__stringify(ATL1E_DEFAULT_TX_DESC_CNT),
 			.def  = ATL1E_DEFAULT_TX_DESC_CNT,
 			.arg  = { .r = { .min = ATL1E_MIN_TX_DESC_CNT,
 					 .max = ATL1E_MAX_TX_DESC_CNT} }
@@ -200,7 +201,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter)
 			.type = range_option,
 			.name = "Memory size of rx buffer(KB)",
 			.err  = "using default of "
-				__MODULE_STRING(ATL1E_DEFAULT_RX_MEM_SIZE),
+				__stringify(ATL1E_DEFAULT_RX_MEM_SIZE),
 			.def  = ATL1E_DEFAULT_RX_MEM_SIZE,
 			.arg  = { .r = { .min = ATL1E_MIN_RX_MEM_SIZE,
 					 .max = ATL1E_MAX_RX_MEM_SIZE} }
@@ -220,7 +221,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter)
 			.type = range_option,
 			.name = "Interrupt Moderate Timer",
 			.err  = "using default of "
-				__MODULE_STRING(INT_MOD_DEFAULT_CNT),
+				__stringify(INT_MOD_DEFAULT_CNT),
 			.def  = INT_MOD_DEFAULT_CNT,
 			.arg  = { .r = { .min = INT_MOD_MIN_CNT,
 					 .max = INT_MOD_MAX_CNT} }
@@ -239,7 +240,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter)
 			.type = range_option,
 			.name = "Speed/Duplex Selection",
 			.err  = "using default of "
-				__MODULE_STRING(MEDIA_TYPE_AUTO_SENSOR),
+				__stringify(MEDIA_TYPE_AUTO_SENSOR),
 			.def  = MEDIA_TYPE_AUTO_SENSOR,
 			.arg  = { .r = { .min = MEDIA_TYPE_AUTO_SENSOR,
 					 .max = MEDIA_TYPE_10M_HALF} }
drivers/net/ethernet/atheros/atlx/atl1.c +2 -1
index a981c4bcf8ed..2883e9462f6f 100644
@@ -56,6 +56,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
+#include <linux/stringify.h>
 #include <linux/tcp.h>
 #include <linux/timer.h>
 #include <linux/types.h>
@@ -198,7 +199,7 @@ static void atl1_check_options(struct atl1_adapter *adapter)
 			.type = range_option,
 			.name = "Interrupt Moderator Timer",
 			.err = "using default of "
-				__MODULE_STRING(DEFAULT_INT_MOD_CNT),
+				__stringify(DEFAULT_INT_MOD_CNT),
 			.def = DEFAULT_INT_MOD_CNT,
 			.arg = {.r = {.min = MIN_INT_MOD_CNT,
 					.max = MAX_INT_MOD_CNT} }
drivers/net/ethernet/atheros/atlx/atl2.c +6 -5
index c9aca219ec9c..5d3b3357d53d 100644
@@ -29,6 +29,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
+#include <linux/stringify.h>
 #include <linux/tcp.h>
 #include <linux/timer.h>
 #include <linux/types.h>
@@ -2921,7 +2922,7 @@ static void atl2_check_options(struct atl2_adapter *adapter)
 	/* Bytes of Transmit Memory */
 	opt.type = range_option;
 	opt.name = "Bytes of Transmit Memory";
-	opt.err = "using default of " __MODULE_STRING(ATL2_DEFAULT_TX_MEMSIZE);
+	opt.err = "using default of " __stringify(ATL2_DEFAULT_TX_MEMSIZE);
 	opt.def = ATL2_DEFAULT_TX_MEMSIZE;
 	opt.arg.r.min = ATL2_MIN_TX_MEMSIZE;
 	opt.arg.r.max = ATL2_MAX_TX_MEMSIZE;
@@ -2939,7 +2940,7 @@ static void atl2_check_options(struct atl2_adapter *adapter)
 	/* Receive Memory Block Count */
 	opt.type = range_option;
 	opt.name = "Number of receive memory block";
-	opt.err = "using default of " __MODULE_STRING(ATL2_DEFAULT_RXD_COUNT);
+	opt.err = "using default of " __stringify(ATL2_DEFAULT_RXD_COUNT);
 	opt.def = ATL2_DEFAULT_RXD_COUNT;
 	opt.arg.r.min = ATL2_MIN_RXD_COUNT;
 	opt.arg.r.max = ATL2_MAX_RXD_COUNT;
@@ -2960,7 +2961,7 @@ static void atl2_check_options(struct atl2_adapter *adapter)
 	/* Interrupt Moderate Timer */
 	opt.type = range_option;
 	opt.name = "Interrupt Moderate Timer";
-	opt.err = "using default of " __MODULE_STRING(INT_MOD_DEFAULT_CNT);
+	opt.err = "using default of " __stringify(INT_MOD_DEFAULT_CNT);
 	opt.def = INT_MOD_DEFAULT_CNT;
 	opt.arg.r.min = INT_MOD_MIN_CNT;
 	opt.arg.r.max = INT_MOD_MAX_CNT;
@@ -2973,7 +2974,7 @@ static void atl2_check_options(struct atl2_adapter *adapter)
 	/* Flash Vendor */
 	opt.type = range_option;
 	opt.name = "SPI Flash Vendor";
-	opt.err = "using default of " __MODULE_STRING(FLASH_VENDOR_DEFAULT);
+	opt.err = "using default of " __stringify(FLASH_VENDOR_DEFAULT);
 	opt.def = FLASH_VENDOR_DEFAULT;
 	opt.arg.r.min = FLASH_VENDOR_MIN;
 	opt.arg.r.max = FLASH_VENDOR_MAX;
@@ -2986,7 +2987,7 @@ static void atl2_check_options(struct atl2_adapter *adapter)
 	/* MediaType */
 	opt.type = range_option;
 	opt.name = "Speed/Duplex Selection";
-	opt.err = "using default of " __MODULE_STRING(MEDIA_TYPE_AUTO_SENSOR);
+	opt.err = "using default of " __stringify(MEDIA_TYPE_AUTO_SENSOR);
 	opt.def = MEDIA_TYPE_AUTO_SENSOR;
 	opt.arg.r.min = MEDIA_TYPE_AUTO_SENSOR;
 	opt.arg.r.max = MEDIA_TYPE_10M_HALF;
drivers/net/ethernet/intel/e1000/e1000_param.c +8 -7
index f4154ca7fcb4..5faf6d6280c8 100644
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright(c) 1999 - 2006 Intel Corporation. */
 
+#include <linux/stringify.h>
 #include "e1000.h"
 
 /* This is the only thing that needs to be changed to adjust the
@@ -259,7 +260,7 @@ void e1000_check_options(struct e1000_adapter *adapter)
 			.type = range_option,
 			.name = "Transmit Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(E1000_DEFAULT_TXD),
+				__stringify(E1000_DEFAULT_TXD),
 			.def  = E1000_DEFAULT_TXD,
 			.arg  = { .r = {
 				.min = E1000_MIN_TXD,
@@ -287,7 +288,7 @@ void e1000_check_options(struct e1000_adapter *adapter)
 			.type = range_option,
 			.name = "Receive Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(E1000_DEFAULT_RXD),
+				__stringify(E1000_DEFAULT_RXD),
 			.def  = E1000_DEFAULT_RXD,
 			.arg  = { .r = {
 				.min = E1000_MIN_RXD,
@@ -354,7 +355,7 @@ void e1000_check_options(struct e1000_adapter *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Transmit Interrupt Delay",
-			.err  = "using default of " __MODULE_STRING(DEFAULT_TIDV),
+			.err  = "using default of " __stringify(DEFAULT_TIDV),
 			.def  = DEFAULT_TIDV,
 			.arg  = { .r = { .min = MIN_TXDELAY,
 					 .max = MAX_TXDELAY }}
@@ -372,7 +373,7 @@ void e1000_check_options(struct e1000_adapter *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Transmit Absolute Interrupt Delay",
-			.err  = "using default of " __MODULE_STRING(DEFAULT_TADV),
+			.err  = "using default of " __stringify(DEFAULT_TADV),
 			.def  = DEFAULT_TADV,
 			.arg  = { .r = { .min = MIN_TXABSDELAY,
 					 .max = MAX_TXABSDELAY }}
@@ -390,7 +391,7 @@ void e1000_check_options(struct e1000_adapter *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Receive Interrupt Delay",
-			.err  = "using default of " __MODULE_STRING(DEFAULT_RDTR),
+			.err  = "using default of " __stringify(DEFAULT_RDTR),
 			.def  = DEFAULT_RDTR,
 			.arg  = { .r = { .min = MIN_RXDELAY,
 					 .max = MAX_RXDELAY }}
@@ -408,7 +409,7 @@ void e1000_check_options(struct e1000_adapter *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Receive Absolute Interrupt Delay",
-			.err  = "using default of " __MODULE_STRING(DEFAULT_RADV),
+			.err  = "using default of " __stringify(DEFAULT_RADV),
 			.def  = DEFAULT_RADV,
 			.arg  = { .r = { .min = MIN_RXABSDELAY,
 					 .max = MAX_RXABSDELAY }}
@@ -426,7 +427,7 @@ void e1000_check_options(struct e1000_adapter *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Interrupt Throttling Rate (ints/sec)",
-			.err  = "using default of " __MODULE_STRING(DEFAULT_ITR),
+			.err  = "using default of " __stringify(DEFAULT_ITR),
 			.def  = DEFAULT_ITR,
 			.arg  = { .r = { .min = MIN_ITR,
 					 .max = MAX_ITR }}
drivers/net/ethernet/intel/e1000e/param.c +6 -10
index 3132d8f2f207..c6f400e6cdea 100644
@@ -4,6 +4,7 @@
 #include <linux/netdevice.h>
 #include <linux/module.h>
 #include <linux/pci.h>
+#include <linux/stringify.h>
 
 #include "e1000.h"
 
@@ -238,8 +239,7 @@ void e1000e_check_options(struct e1000_adapter *adapter)
 		static const struct e1000_option opt = {
 			.type = range_option,
 			.name = "Transmit Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_TIDV),
+			.err  = "using default of " __stringify(DEFAULT_TIDV),
 			.def  = DEFAULT_TIDV,
 			.arg  = { .r = { .min = MIN_TXDELAY,
 					 .max = MAX_TXDELAY } }
@@ -258,8 +258,7 @@ void e1000e_check_options(struct e1000_adapter *adapter)
 		static const struct e1000_option opt = {
 			.type = range_option,
 			.name = "Transmit Absolute Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_TADV),
+			.err  = "using default of " __stringify(DEFAULT_TADV),
 			.def  = DEFAULT_TADV,
 			.arg  = { .r = { .min = MIN_TXABSDELAY,
 					 .max = MAX_TXABSDELAY } }
@@ -278,8 +277,7 @@ void e1000e_check_options(struct e1000_adapter *adapter)
 		static struct e1000_option opt = {
 			.type = range_option,
 			.name = "Receive Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_RDTR),
+			.err  = "using default of " __stringify(DEFAULT_RDTR),
 			.def  = DEFAULT_RDTR,
 			.arg  = { .r = { .min = MIN_RXDELAY,
 					 .max = MAX_RXDELAY } }
@@ -301,8 +299,7 @@ void e1000e_check_options(struct e1000_adapter *adapter)
 		static struct e1000_option opt = {
 			.type = range_option,
 			.name = "Receive Absolute Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_RADV),
+			.err  = "using default of " __stringify(DEFAULT_RADV),
 			.def  = DEFAULT_RADV,
 			.arg  = { .r = { .min = MIN_RXABSDELAY,
 					 .max = MAX_RXABSDELAY } }
@@ -324,8 +321,7 @@ void e1000e_check_options(struct e1000_adapter *adapter)
 		static const struct e1000_option opt = {
 			.type = range_option,
 			.name = "Interrupt Throttling Rate (ints/sec)",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_ITR),
+			.err  = "using default of " __stringify(DEFAULT_ITR),
 			.def  = DEFAULT_ITR,
 			.arg  = { .r = { .min = MIN_ITR,
 					 .max = MAX_ITR } }
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c +4 -3
index 81fc5a6e3221..6a1a6678bd1a 100644
@@ -7,7 +7,8 @@
  */
 
 #include "pch_gbe.h"
-#include <linux/module.h>	/* for __MODULE_STRING */
+#include <linux/module.h>
+#include <linux/stringify.h>
 
 #define OPTION_UNSET   -1
 #define OPTION_DISABLED 0
@@ -440,7 +441,7 @@ void pch_gbe_check_options(struct pch_gbe_adapter *adapter)
 			.type = range_option,
 			.name = "Transmit Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(PCH_GBE_DEFAULT_TXD),
+				__stringify(PCH_GBE_DEFAULT_TXD),
 			.def  = PCH_GBE_DEFAULT_TXD,
 			.arg  = { .r = { .min = PCH_GBE_MIN_TXD,
 					 .max = PCH_GBE_MAX_TXD } }
@@ -456,7 +457,7 @@ void pch_gbe_check_options(struct pch_gbe_adapter *adapter)
 			.type = range_option,
 			.name = "Receive Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(PCH_GBE_DEFAULT_RXD),
+				__stringify(PCH_GBE_DEFAULT_RXD),
 			.def  = PCH_GBE_DEFAULT_RXD,
 			.arg  = { .r = { .min = PCH_GBE_MIN_RXD,
 					 .max = PCH_GBE_MAX_RXD } }
drivers/platform/cznic/turris-omnia-mcu-watchdog.c +2 -1
index 3ad146ec1d80..daabd88eb913 100644
@@ -9,6 +9,7 @@
 #include <linux/device.h>
 #include <linux/i2c.h>
 #include <linux/moduleparam.h>
+#include <linux/stringify.h>
 #include <linux/types.h>
 #include <linux/units.h>
 #include <linux/watchdog.h>
@@ -25,7 +26,7 @@ MODULE_PARM_DESC(timeout, "Watchdog timeout in seconds");
 static bool nowayout = WATCHDOG_NOWAYOUT;
 module_param(nowayout, bool, 0);
 MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
-			   __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+			   __stringify(WATCHDOG_NOWAYOUT) ")");
 
 static int omnia_wdt_start(struct watchdog_device *wdt)
 {
drivers/rtc/rtc-ds1374.c +2 -1
index 8c247215d611..2ed6777e7035 100644
@@ -26,6 +26,7 @@
 #include <linux/workqueue.h>
 #include <linux/slab.h>
 #include <linux/pm.h>
+#include <linux/stringify.h>
 #ifdef CONFIG_RTC_DRV_DS1374_WDT
 #include <linux/fs.h>
 #include <linux/ioctl.h>
@@ -381,7 +382,7 @@ MODULE_PARM_DESC(wdt_margin, "Watchdog timeout in seconds (default 32s)");
 static bool nowayout = WATCHDOG_NOWAYOUT;
 module_param(nowayout, bool, 0);
 MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default ="
-		__MODULE_STRING(WATCHDOG_NOWAYOUT)")");
+		__stringify(WATCHDOG_NOWAYOUT)")");
 
 static const struct watchdog_info ds1374_wdt_info = {
 	.identity       = "DS1374 Watchdog",
drivers/thunderbolt/tb.c +2 -1
index 4da608ccbccb..57c11ba13459 100644
@@ -10,6 +10,7 @@
 #include <linux/errno.h>
 #include <linux/delay.h>
 #include <linux/pm_runtime.h>
+#include <linux/stringify.h>
 
 #include "tb.h"
 #include "tb_regs.h"
@@ -46,7 +47,7 @@ static unsigned int asym_threshold = TB_ASYM_THRESHOLD;
 module_param_named(asym_threshold, asym_threshold, uint, 0444);
 MODULE_PARM_DESC(asym_threshold,
 		"threshold (Mb/s) when to Gen 4 switch link symmetry. 0 disables. (default: "
-		__MODULE_STRING(TB_ASYM_THRESHOLD) ")");
+		__stringify(TB_ASYM_THRESHOLD) ")");
 
 /**
  * struct tb_cm - Simple Thunderbolt connection manager
drivers/thunderbolt/tunnel.c +3 -2
index ffd2d04b3bfa..2b911372001c 100644
@@ -11,6 +11,7 @@
 #include <linux/list.h>
 #include <linux/ktime.h>
 #include <linux/string_helpers.h>
+#include <linux/stringify.h>
 
 #include "tunnel.h"
 #include "tb.h"
@@ -89,12 +90,12 @@ static int dprx_timeout = TB_DPRX_TIMEOUT;
 module_param(dprx_timeout, int, 0444);
 MODULE_PARM_DESC(dprx_timeout,
 		 "DPRX capability read timeout in ms, -1 waits forever (default: "
-		 __MODULE_STRING(TB_DPRX_TIMEOUT) ")");
+		 __stringify(TB_DPRX_TIMEOUT) ")");
 
 static unsigned int dma_credits = TB_DMA_CREDITS;
 module_param(dma_credits, uint, 0444);
 MODULE_PARM_DESC(dma_credits, "specify custom credits for DMA tunnels (default: "
-                __MODULE_STRING(TB_DMA_CREDITS) ")");
+		 __stringify(TB_DMA_CREDITS) ")");
 
 static bool bw_alloc_mode = true;
 module_param(bw_alloc_mode, bool, 0444);
drivers/tty/serial/8250/8250_platform.c +2 -1
index 0570366a71d0..972e474654ac 100644
@@ -16,6 +16,7 @@
 #include <linux/moduleparam.h>
 #include <linux/once.h>
 #include <linux/platform_device.h>
+#include <linux/stringify.h>
 
 #include <linux/serial_8250.h>
 
@@ -389,6 +390,6 @@ module_param_hw(share_irqs, bool, other, 0644);
 MODULE_PARM_DESC(share_irqs, "Share IRQs with other non-8250/16x50 devices (unsafe)");
 
 module_param(nr_uarts, uint, 0644);
-MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __MODULE_STRING(CONFIG_SERIAL_8250_NR_UARTS) ")");
+MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __stringify(CONFIG_SERIAL_8250_NR_UARTS) ")");
 
 MODULE_ALIAS_CHARDEV_MAJOR(TTY_MAJOR);
drivers/usb/atm/speedtch.c +8 -7
index 000f8eb24ead..b834eba09656 100644
@@ -19,6 +19,7 @@
 #include <linux/moduleparam.h>
 #include <linux/slab.h>
 #include <linux/stat.h>
+#include <linux/stringify.h>
 #include <linux/timer.h>
 #include <linux/types.h>
 #include <linux/usb/ch9.h>
@@ -77,31 +78,31 @@ static unsigned int num_ModemOption;
 module_param(altsetting, uint, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(altsetting,
 		"Alternative setting for data interface (bulk_default: "
-		__MODULE_STRING(DEFAULT_BULK_ALTSETTING) "; isoc_default: "
-		__MODULE_STRING(DEFAULT_ISOC_ALTSETTING) ")");
+		__stringify(DEFAULT_BULK_ALTSETTING) "; isoc_default: "
+		__stringify(DEFAULT_ISOC_ALTSETTING) ")");
 
 module_param(dl_512_first, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(dl_512_first,
 		 "Read 512 bytes before sending firmware (default: "
-		 __MODULE_STRING(DEFAULT_DL_512_FIRST) ")");
+		 __stringify(DEFAULT_DL_512_FIRST) ")");
 
 module_param(enable_isoc, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(enable_isoc,
 		"Use isochronous transfers if available (default: "
-		__MODULE_STRING(DEFAULT_ENABLE_ISOC) ")");
+		__stringify(DEFAULT_ENABLE_ISOC) ")");
 
 module_param(sw_buffering, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(sw_buffering,
 		 "Enable software buffering (default: "
-		 __MODULE_STRING(DEFAULT_SW_BUFFERING) ")");
+		 __stringify(DEFAULT_SW_BUFFERING) ")");
 
 module_param(BMaxDSL, uint, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(BMaxDSL,
-		"default: " __MODULE_STRING(DEFAULT_B_MAX_DSL));
+		"default: " __stringify(DEFAULT_B_MAX_DSL));
 
 module_param(ModemMode, byte, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(ModemMode,
-		"default: " __MODULE_STRING(DEFAULT_MODEM_MODE));
+		"default: " __stringify(DEFAULT_MODEM_MODE));
 
 module_param_array(ModemOption, byte, &num_ModemOption, S_IRUGO);
 MODULE_PARM_DESC(ModemOption, "default: 0x10,0x00,0x00,0x00,0x20");
drivers/usb/atm/usbatm.c +9 -8
index 7b0c791399ea..d4052d206e00 100644
@@ -64,6 +64,7 @@
 #include <linux/signal.h>
 #include <linux/slab.h>
 #include <linux/stat.h>
+#include <linux/stringify.h>
 #include <linux/timer.h>
 #include <linux/wait.h>
 #include <linux/kthread.h>
@@ -103,26 +104,26 @@ static unsigned int snd_buf_bytes = UDSL_DEFAULT_SND_BUF_SIZE;
 module_param(num_rcv_urbs, uint, S_IRUGO);
 MODULE_PARM_DESC(num_rcv_urbs,
 		 "Number of urbs used for reception (range: 0-"
-		 __MODULE_STRING(UDSL_MAX_RCV_URBS) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_RCV_URBS) ")");
+		 __stringify(UDSL_MAX_RCV_URBS) ", default: "
+		 __stringify(UDSL_DEFAULT_RCV_URBS) ")");
 
 module_param(num_snd_urbs, uint, S_IRUGO);
 MODULE_PARM_DESC(num_snd_urbs,
 		 "Number of urbs used for transmission (range: 0-"
-		 __MODULE_STRING(UDSL_MAX_SND_URBS) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_SND_URBS) ")");
+		 __stringify(UDSL_MAX_SND_URBS) ", default: "
+		 __stringify(UDSL_DEFAULT_SND_URBS) ")");
 
 module_param(rcv_buf_bytes, uint, S_IRUGO);
 MODULE_PARM_DESC(rcv_buf_bytes,
 		 "Size of the buffers used for reception, in bytes (range: 1-"
-		 __MODULE_STRING(UDSL_MAX_BUF_SIZE) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_RCV_BUF_SIZE) ")");
+		 __stringify(UDSL_MAX_BUF_SIZE) ", default: "
+		 __stringify(UDSL_DEFAULT_RCV_BUF_SIZE) ")");
 
 module_param(snd_buf_bytes, uint, S_IRUGO);
 MODULE_PARM_DESC(snd_buf_bytes,
 		 "Size of the buffers used for transmission, in bytes (range: 1-"
-		 __MODULE_STRING(UDSL_MAX_BUF_SIZE) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_SND_BUF_SIZE) ")");
+		 __stringify(UDSL_MAX_BUF_SIZE) ", default: "
+		 __stringify(UDSL_DEFAULT_SND_BUF_SIZE) ")");
 
 
 /* receive */
Signature · 1 line
2.55.0
Acked-by on v2 2/3
#6 lore raw

Re: [PATCH v2 2/3] drivers: Replace __MODULE_STRING() with __stringify()

Hi,

Quoted 2 lines · Petr Pavlu
 drivers/thunderbolt/tb.c                              |  3 ++-
 drivers/thunderbolt/tunnel.c                          |  5 +++--

For Thunderbolt,

#7 lore raw

Re: [PATCH v2 2/3] drivers: Replace __MODULE_STRING() with __stringify()

In reply to Petr Pavlu
Sashiko has reviewed this patch and found no issues. It looks great!
Quoted 7 lines

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() in preparation for its removal.

Quoted 6 lines

Sashiko has reviewed this patch and found no issues. It looks great!

Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=2
Reviewed-by on v2 2/3
#8 lore raw

RE: [PATCH v2 2/3] drivers: Replace __MODULE_STRING() with __stringify()

In reply to Petr Pavlu
Quoted 717 lines

-----Original Message-----
From: Petr Pavlu <[email protected]>
Sent: Friday, October 2, 2026 10:31 AM
To: Wim Van Sebroeck <[email protected]>; Guenter Roeck <[email protected]>; Ian Abbott <[email protected]>; H Hartley Sweeten <[email protected]>; Maarten Lankhorst <[email protected]>; Maxime Ripard <[email protected]>; Thomas Zimmermann <[email protected]>; David Airlie <[email protected]>; Simona Vetter <[email protected]>; Rudolf Marek <[email protected]>; Andi Shyti <[email protected]>; Chris Snook <[email protected]>; Andrew Lunn <[email protected]>; David S. Miller <[email protected]>; Eric Dumazet <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni <[email protected]>; Nguyen, Anthony L <[email protected]>; Kitszel, Przemyslaw <[email protected]>; Marek Behún <[email protected]>; Alexandre Belloni <[email protected]>; Andreas Noever <[email protected]>; Mika Westerberg <[email protected]>; Yehezkel Bernat <[email protected]>; Greg Kroah-Hartman <[email protected]>; Jiri Slaby <[email protected]>; Duncan Sands <[email protected]>; Chas Williams <[email protected]>; Luis Chamberlain <[email protected]>; Petr Pavlu <[email protected]>; Daniel Gomez <[email protected]>; Sami Tolvanen <[email protected]>; Aaron Tomlin <[email protected]>
Cc: Wolfram Sang <[email protected]>; linux- [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; linux- [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]
Subject: [PATCH v2 2/3] drivers: Replace __MODULE_STRING() with __stringify()

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() in preparation for its removal.

---
 drivers/comedi/comedi_fops.c                          |  5 +++--
 drivers/gpu/drm/drm_fb_helper.c                       |  3 ++-
 drivers/i2c/busses/i2c-kempld.c                       |  3 ++-
 drivers/net/ethernet/atheros/atl1e/atl1e_param.c      |  9 +++++----
 drivers/net/ethernet/atheros/atlx/atl1.c              |  3 ++-
 drivers/net/ethernet/atheros/atlx/atl2.c              | 11 ++++++----
(quoted diff) +0 -5
-
 drivers/net/ethernet/intel/e1000/e1000_param.c        | 15 ++++++++--
-----
 drivers/net/ethernet/intel/e1000e/param.c             | 16 ++++++----
------
 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c |  7 ++++---
 drivers/platform/cznic/turris-omnia-mcu-watchdog.c    |  3 ++-
 drivers/rtc/rtc-ds1374.c                              |  3 ++-
 drivers/thunderbolt/tb.c                              |  3 ++-
 drivers/thunderbolt/tunnel.c                          |  5 +++--
 drivers/tty/serial/8250/8250_platform.c               |  3 ++-
 drivers/usb/atm/speedtch.c                            | 15 ++++++++--
-----
 drivers/usb/atm/usbatm.c                              | 17 +++++++++-
-------
 16 files changed, 66 insertions(+), 55 deletions(-)
(quoted diff) +0 -0

b/drivers/comedi/comedi_fops.c index c09bbe04be6c..05d14839c5a6 100644

drivers/comedi/comedi_fops.c +2 -1
@@ -29,6 +29,7 @@
 #include <linux/io.h>
 #include <linux/uaccess.h>
 #include <linux/compat.h>
+#include <linux/stringify.h>
 
 #include "comedi_internal.h"
 
@@ -82,14 +83,14 @@ unsigned int comedi_default_buf_size_kb =
 CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB;
 module_param(comedi_default_buf_size_kb, uint, 0644);
 MODULE_PARM_DESC(comedi_default_buf_size_kb,
 		 "default asynchronous buffer size in KiB (default "
-		 __MODULE_STRING(CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB)
 ")");
+		 __stringify(CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB) ")");
 
 unsigned int comedi_default_buf_maxsize_kb =
 	CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB;
 module_param(comedi_default_buf_maxsize_kb, uint, 0644);
 MODULE_PARM_DESC(comedi_default_buf_maxsize_kb,
 		 "default maximum size of asynchronous buffer in KiB

(default "

drivers/comedi/comedi_fops.c +0 -1
-		 __MODULE_STRING(CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB)

")");

drivers/comedi/comedi_fops.c +1 -0
+		 __stringify(CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB) ")");
 
 static DEFINE_MUTEX(comedi_board_minor_table_lock);
 static struct comedi_device
(quoted diff) +0 -0

b/drivers/gpu/drm/drm_fb_helper.c index d4664ed468b2..36009bb02c25 100644

drivers/gpu/drm/drm_fb_helper.c +2 -1
@@ -31,6 +31,7 @@
 
 #include <linux/console.h>
 #include <linux/export.h>
+#include <linux/stringify.h>
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_drv.h>
@@ -54,7 +55,7 @@ static int drm_fbdev_overalloc =
 CONFIG_DRM_FBDEV_OVERALLOC;  module_param(drm_fbdev_overalloc, int,
 0444);  MODULE_PARM_DESC(drm_fbdev_overalloc,
 		 "Overallocation of the fbdev buffer (%) [default="
-		 __MODULE_STRING(CONFIG_DRM_FBDEV_OVERALLOC) "]");
+		 __stringify(CONFIG_DRM_FBDEV_OVERALLOC) "]");
 
 /*
  * In order to keep user-space compatibility, we want in certain use-

cases diff --git a/drivers/i2c/busses/i2c-kempld.c b/drivers/i2c/busses/i2c-kempld.c index 9b4c7cba62b6..d0438960c272 100644

drivers/i2c/busses/i2c-kempld.c +1 -0
@@ -13,6 +13,7 @@
 #include <linux/i2c.h>
 #include <linux/delay.h>
 #include <linux/mfd/kempld.h>
+#include <linux/stringify.h>
 
 #define KEMPLD_I2C_PRELOW	0x0b
 #define KEMPLD_I2C_PREHIGH	0x0c
@@ -66,7 +67,7 @@ struct kempld_i2c_data {  static unsigned int
 bus_frequency = KEMPLD_I2C_FREQ_STD;  module_param(bus_frequency,

uint, 0); MODULE_PARM_DESC(bus_frequency, "Set I2C bus frequency in kHz (default="

drivers/i2c/busses/i2c-kempld.c +1 -1
-				__MODULE_STRING(KEMPLD_I2C_FREQ_STD)")");
+				__stringify(KEMPLD_I2C_FREQ_STD)")");
 
 static int i2c_bus = -1;
 module_param(i2c_bus, int, 0);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c +2 -1
index 6b1d6df8da97..ff3423a4dc2e 100644
@@ -7,6 +7,7 @@
  */
 
 #include <linux/netdevice.h>
+#include <linux/stringify.h>
 
 #include "atl1e.h"
 
@@ -181,7 +182,7 @@ void atl1e_check_options(struct atl1e_adapter
 *adapter)
 			.type = range_option,
 			.name = "Transmit Ddescription Count",
 			.err  = "using default of "
-				__MODULE_STRING(ATL1E_DEFAULT_TX_DESC_CNT),
+				__stringify(ATL1E_DEFAULT_TX_DESC_CNT),
 			.def  = ATL1E_DEFAULT_TX_DESC_CNT,
 			.arg  = { .r = { .min = ATL1E_MIN_TX_DESC_CNT,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c +1 -1
 					 .max = ATL1E_MAX_TX_DESC_CNT} }
@@ -200,7 +201,7 @@ void atl1e_check_options(struct atl1e_adapter
 *adapter)
 			.type = range_option,
 			.name = "Memory size of rx buffer(KB)",
 			.err  = "using default of "
-				__MODULE_STRING(ATL1E_DEFAULT_RX_MEM_SIZE),
+				__stringify(ATL1E_DEFAULT_RX_MEM_SIZE),
 			.def  = ATL1E_DEFAULT_RX_MEM_SIZE,
 			.arg  = { .r = { .min = ATL1E_MIN_RX_MEM_SIZE,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c +1 -1
 					 .max = ATL1E_MAX_RX_MEM_SIZE} }
@@ -220,7 +221,7 @@ void atl1e_check_options(struct atl1e_adapter
 *adapter)
 			.type = range_option,
 			.name = "Interrupt Moderate Timer",
 			.err  = "using default of "
-				__MODULE_STRING(INT_MOD_DEFAULT_CNT),
+				__stringify(INT_MOD_DEFAULT_CNT),
 			.def  = INT_MOD_DEFAULT_CNT,
 			.arg  = { .r = { .min = INT_MOD_MIN_CNT,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c +1 -1
 					 .max = INT_MOD_MAX_CNT} }
@@ -239,7 +240,7 @@ void atl1e_check_options(struct atl1e_adapter
 *adapter)
 			.type = range_option,
 			.name = "Speed/Duplex Selection",
 			.err  = "using default of "
-				__MODULE_STRING(MEDIA_TYPE_AUTO_SENSOR),
+				__stringify(MEDIA_TYPE_AUTO_SENSOR),
 			.def  = MEDIA_TYPE_AUTO_SENSOR,
 			.arg  = { .r = { .min = MEDIA_TYPE_AUTO_SENSOR,
drivers/net/ethernet/atheros/atl1e/atl1e_param.c +0 -0
 					 .max = MEDIA_TYPE_10M_HALF} }
drivers/net/ethernet/atheros/atlx/atl1.c +2 -1
index a981c4bcf8ed..2883e9462f6f 100644
@@ -56,6 +56,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
+#include <linux/stringify.h>
 #include <linux/tcp.h>
 #include <linux/timer.h>
 #include <linux/types.h>
@@ -198,7 +199,7 @@ static void atl1_check_options(struct atl1_adapter
 *adapter)
 			.type = range_option,
 			.name = "Interrupt Moderator Timer",
 			.err = "using default of "
-				__MODULE_STRING(DEFAULT_INT_MOD_CNT),
+				__stringify(DEFAULT_INT_MOD_CNT),
 			.def = DEFAULT_INT_MOD_CNT,
 			.arg = {.r = {.min = MIN_INT_MOD_CNT,
drivers/net/ethernet/atheros/atlx/atl1.c +0 -0
 					.max = MAX_INT_MOD_CNT} }
drivers/net/ethernet/atheros/atlx/atl2.c +2 -1
index c9aca219ec9c..5d3b3357d53d 100644
@@ -29,6 +29,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
+#include <linux/stringify.h>
 #include <linux/tcp.h>
 #include <linux/timer.h>
 #include <linux/types.h>
@@ -2921,7 +2922,7 @@ static void atl2_check_options(struct
 atl2_adapter *adapter)
 	/* Bytes of Transmit Memory */
 	opt.type = range_option;
 	opt.name = "Bytes of Transmit Memory";
-	opt.err = "using default of "
 __MODULE_STRING(ATL2_DEFAULT_TX_MEMSIZE);
+	opt.err = "using default of "
 __stringify(ATL2_DEFAULT_TX_MEMSIZE);
drivers/net/ethernet/atheros/atlx/atl2.c +1 -1
 	opt.def = ATL2_DEFAULT_TX_MEMSIZE;
 	opt.arg.r.min = ATL2_MIN_TX_MEMSIZE;
 	opt.arg.r.max = ATL2_MAX_TX_MEMSIZE;
@@ -2939,7 +2940,7 @@ static void atl2_check_options(struct
 atl2_adapter *adapter)
 	/* Receive Memory Block Count */
 	opt.type = range_option;
 	opt.name = "Number of receive memory block";
-	opt.err = "using default of "
 __MODULE_STRING(ATL2_DEFAULT_RXD_COUNT);
+	opt.err = "using default of "
 __stringify(ATL2_DEFAULT_RXD_COUNT);
drivers/net/ethernet/atheros/atlx/atl2.c +1 -1
 	opt.def = ATL2_DEFAULT_RXD_COUNT;
 	opt.arg.r.min = ATL2_MIN_RXD_COUNT;
 	opt.arg.r.max = ATL2_MAX_RXD_COUNT;
@@ -2960,7 +2961,7 @@ static void atl2_check_options(struct
 atl2_adapter *adapter)
 	/* Interrupt Moderate Timer */
 	opt.type = range_option;
 	opt.name = "Interrupt Moderate Timer";
-	opt.err = "using default of "
 __MODULE_STRING(INT_MOD_DEFAULT_CNT);
+	opt.err = "using default of " __stringify(INT_MOD_DEFAULT_CNT);
 	opt.def = INT_MOD_DEFAULT_CNT;
drivers/net/ethernet/atheros/atlx/atl2.c +1 -1
 	opt.arg.r.min = INT_MOD_MIN_CNT;
 	opt.arg.r.max = INT_MOD_MAX_CNT;
@@ -2973,7 +2974,7 @@ static void atl2_check_options(struct
 atl2_adapter *adapter)
 	/* Flash Vendor */
 	opt.type = range_option;
 	opt.name = "SPI Flash Vendor";
-	opt.err = "using default of "
 __MODULE_STRING(FLASH_VENDOR_DEFAULT);
+	opt.err = "using default of "
 __stringify(FLASH_VENDOR_DEFAULT);
drivers/net/ethernet/atheros/atlx/atl2.c +1 -1
 	opt.def = FLASH_VENDOR_DEFAULT;
 	opt.arg.r.min = FLASH_VENDOR_MIN;
 	opt.arg.r.max = FLASH_VENDOR_MAX;
@@ -2986,7 +2987,7 @@ static void atl2_check_options(struct
 atl2_adapter *adapter)
 	/* MediaType */
 	opt.type = range_option;
 	opt.name = "Speed/Duplex Selection";
-	opt.err = "using default of "
 __MODULE_STRING(MEDIA_TYPE_AUTO_SENSOR);
+	opt.err = "using default of "
 __stringify(MEDIA_TYPE_AUTO_SENSOR);
drivers/net/ethernet/atheros/atlx/atl2.c +0 -0
 	opt.def = MEDIA_TYPE_AUTO_SENSOR;
 	opt.arg.r.min = MEDIA_TYPE_AUTO_SENSOR;
 	opt.arg.r.max = MEDIA_TYPE_10M_HALF;
drivers/net/ethernet/intel/e1000/e1000_param.c +1 -0
index f4154ca7fcb4..5faf6d6280c8 100644
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright(c) 1999 - 2006 Intel Corporation. */
 
+#include <linux/stringify.h>
 #include "e1000.h"
 
 /* This is the only thing that needs to be changed to adjust the @@ -

259,7 +260,7 @@ void e1000_check_options(struct e1000_adapter *adapter)

drivers/net/ethernet/intel/e1000/e1000_param.c +2 -2
 			.type = range_option,
 			.name = "Transmit Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(E1000_DEFAULT_TXD),
+				__stringify(E1000_DEFAULT_TXD),
 			.def  = E1000_DEFAULT_TXD,
 			.arg  = { .r = {
 				.min = E1000_MIN_TXD,
@@ -287,7 +288,7 @@ void e1000_check_options(struct e1000_adapter
 *adapter)
 			.type = range_option,
 			.name = "Receive Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(E1000_DEFAULT_RXD),
+				__stringify(E1000_DEFAULT_RXD),
 			.def  = E1000_DEFAULT_RXD,
 			.arg  = { .r = {
drivers/net/ethernet/intel/e1000/e1000_param.c +1 -1
 				.min = E1000_MIN_RXD,
@@ -354,7 +355,7 @@ void e1000_check_options(struct e1000_adapter
 *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Transmit Interrupt Delay",
-			.err  = "using default of "
 __MODULE_STRING(DEFAULT_TIDV),
+			.err  = "using default of "
 __stringify(DEFAULT_TIDV),
drivers/net/ethernet/intel/e1000/e1000_param.c +1 -1
 			.def  = DEFAULT_TIDV,
 			.arg  = { .r = { .min = MIN_TXDELAY,
 					 .max = MAX_TXDELAY }}
@@ -372,7 +373,7 @@ void e1000_check_options(struct e1000_adapter
 *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Transmit Absolute Interrupt Delay",
-			.err  = "using default of "
 __MODULE_STRING(DEFAULT_TADV),
+			.err  = "using default of "
 __stringify(DEFAULT_TADV),
drivers/net/ethernet/intel/e1000/e1000_param.c +1 -1
 			.def  = DEFAULT_TADV,
 			.arg  = { .r = { .min = MIN_TXABSDELAY,
 					 .max = MAX_TXABSDELAY }}
@@ -390,7 +391,7 @@ void e1000_check_options(struct e1000_adapter
 *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Receive Interrupt Delay",
-			.err  = "using default of "
 __MODULE_STRING(DEFAULT_RDTR),
+			.err  = "using default of "
 __stringify(DEFAULT_RDTR),
drivers/net/ethernet/intel/e1000/e1000_param.c +1 -1
 			.def  = DEFAULT_RDTR,
 			.arg  = { .r = { .min = MIN_RXDELAY,
 					 .max = MAX_RXDELAY }}
@@ -408,7 +409,7 @@ void e1000_check_options(struct e1000_adapter
 *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Receive Absolute Interrupt Delay",
-			.err  = "using default of "
 __MODULE_STRING(DEFAULT_RADV),
+			.err  = "using default of "
 __stringify(DEFAULT_RADV),
drivers/net/ethernet/intel/e1000/e1000_param.c +1 -1
 			.def  = DEFAULT_RADV,
 			.arg  = { .r = { .min = MIN_RXABSDELAY,
 					 .max = MAX_RXABSDELAY }}
@@ -426,7 +427,7 @@ void e1000_check_options(struct e1000_adapter
 *adapter)
 		opt = (struct e1000_option) {
 			.type = range_option,
 			.name = "Interrupt Throttling Rate (ints/sec)",
-			.err  = "using default of "
 __MODULE_STRING(DEFAULT_ITR),
+			.err  = "using default of "
 __stringify(DEFAULT_ITR),
drivers/net/ethernet/intel/e1000/e1000_param.c +0 -0
 			.def  = DEFAULT_ITR,
 			.arg  = { .r = { .min = MIN_ITR,
 					 .max = MAX_ITR }}
drivers/net/ethernet/intel/e1000e/param.c +2 -2
index 3132d8f2f207..c6f400e6cdea 100644
@@ -4,6 +4,7 @@
 #include <linux/netdevice.h>
 #include <linux/module.h>
 #include <linux/pci.h>
+#include <linux/stringify.h>
 
 #include "e1000.h"
 
@@ -238,8 +239,7 @@ void e1000e_check_options(struct e1000_adapter
 *adapter)
 		static const struct e1000_option opt = {
 			.type = range_option,
 			.name = "Transmit Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_TIDV),
+			.err  = "using default of "
 __stringify(DEFAULT_TIDV),
 			.def  = DEFAULT_TIDV,
drivers/net/ethernet/intel/e1000e/param.c +1 -2
 			.arg  = { .r = { .min = MIN_TXDELAY,
 					 .max = MAX_TXDELAY } }
@@ -258,8 +258,7 @@ void e1000e_check_options(struct e1000_adapter
 *adapter)
 		static const struct e1000_option opt = {
 			.type = range_option,
 			.name = "Transmit Absolute Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_TADV),
+			.err  = "using default of "
 __stringify(DEFAULT_TADV),
 			.def  = DEFAULT_TADV,
drivers/net/ethernet/intel/e1000e/param.c +1 -2
 			.arg  = { .r = { .min = MIN_TXABSDELAY,
 					 .max = MAX_TXABSDELAY } }
@@ -278,8 +277,7 @@ void e1000e_check_options(struct e1000_adapter
 *adapter)
 		static struct e1000_option opt = {
 			.type = range_option,
 			.name = "Receive Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_RDTR),
+			.err  = "using default of "
 __stringify(DEFAULT_RDTR),
 			.def  = DEFAULT_RDTR,
drivers/net/ethernet/intel/e1000e/param.c +1 -2
 			.arg  = { .r = { .min = MIN_RXDELAY,
 					 .max = MAX_RXDELAY } }
@@ -301,8 +299,7 @@ void e1000e_check_options(struct e1000_adapter
 *adapter)
 		static struct e1000_option opt = {
 			.type = range_option,
 			.name = "Receive Absolute Interrupt Delay",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_RADV),
+			.err  = "using default of "
 __stringify(DEFAULT_RADV),
 			.def  = DEFAULT_RADV,
drivers/net/ethernet/intel/e1000e/param.c +1 -2
 			.arg  = { .r = { .min = MIN_RXABSDELAY,
 					 .max = MAX_RXABSDELAY } }
@@ -324,8 +321,7 @@ void e1000e_check_options(struct e1000_adapter
 *adapter)
 		static const struct e1000_option opt = {
 			.type = range_option,
 			.name = "Interrupt Throttling Rate (ints/sec)",
-			.err  = "using default of "
-				__MODULE_STRING(DEFAULT_ITR),
+			.err  = "using default of "
 __stringify(DEFAULT_ITR),
 			.def  = DEFAULT_ITR,
drivers/net/ethernet/intel/e1000e/param.c +0 -0
 			.arg  = { .r = { .min = MIN_ITR,
 					 .max = MAX_ITR } }
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c +3 -2
index 81fc5a6e3221..6a1a6678bd1a 100644
@@ -7,7 +7,8 @@
  */
 
 #include "pch_gbe.h"
-#include <linux/module.h>	/* for __MODULE_STRING */
+#include <linux/module.h>
+#include <linux/stringify.h>
 
 #define OPTION_UNSET   -1
 #define OPTION_DISABLED 0
@@ -440,7 +441,7 @@ void pch_gbe_check_options(struct pch_gbe_adapter
 *adapter)
 			.type = range_option,
 			.name = "Transmit Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(PCH_GBE_DEFAULT_TXD),
+				__stringify(PCH_GBE_DEFAULT_TXD),
 			.def  = PCH_GBE_DEFAULT_TXD,
 			.arg  = { .r = { .min = PCH_GBE_MIN_TXD,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c +1 -1
 					 .max = PCH_GBE_MAX_TXD } }
@@ -456,7 +457,7 @@ void pch_gbe_check_options(struct pch_gbe_adapter
 *adapter)
 			.type = range_option,
 			.name = "Receive Descriptors",
 			.err  = "using default of "
-				__MODULE_STRING(PCH_GBE_DEFAULT_RXD),
+				__stringify(PCH_GBE_DEFAULT_RXD),
 			.def  = PCH_GBE_DEFAULT_RXD,
 			.arg  = { .r = { .min = PCH_GBE_MIN_RXD,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c +0 -0
 					 .max = PCH_GBE_MAX_RXD } }
drivers/platform/cznic/turris-omnia-mcu-watchdog.c +1 -0
index 3ad146ec1d80..daabd88eb913 100644
@@ -9,6 +9,7 @@
 #include <linux/device.h>
 #include <linux/i2c.h>
 #include <linux/moduleparam.h>
+#include <linux/stringify.h>
 #include <linux/types.h>
 #include <linux/units.h>
 #include <linux/watchdog.h>
@@ -25,7 +26,7 @@ MODULE_PARM_DESC(timeout, "Watchdog timeout in
 seconds");  static bool nowayout = WATCHDOG_NOWAYOUT;

module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="

drivers/platform/cznic/turris-omnia-mcu-watchdog.c +1 -1
-			   __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
+			   __stringify(WATCHDOG_NOWAYOUT) ")");
 
 static int omnia_wdt_start(struct watchdog_device *wdt)  { diff --git

a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c index 8c247215d611..2ed6777e7035 100644

drivers/rtc/rtc-ds1374.c +1 -0
@@ -26,6 +26,7 @@
 #include <linux/workqueue.h>
 #include <linux/slab.h>
 #include <linux/pm.h>
+#include <linux/stringify.h>
 #ifdef CONFIG_RTC_DRV_DS1374_WDT
 #include <linux/fs.h>
 #include <linux/ioctl.h>
@@ -381,7 +382,7 @@ MODULE_PARM_DESC(wdt_margin, "Watchdog timeout in
 seconds (default 32s)");  static bool nowayout = WATCHDOG_NOWAYOUT;

module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default ="

drivers/rtc/rtc-ds1374.c +1 -1
-		__MODULE_STRING(WATCHDOG_NOWAYOUT)")");
+		__stringify(WATCHDOG_NOWAYOUT)")");
 
 static const struct watchdog_info ds1374_wdt_info = {
 	.identity       = "DS1374 Watchdog",
drivers/thunderbolt/tb.c index renamed from drivers/thunderbolt/tb.c +0 -0

4da608ccbccb..57c11ba13459 100644

drivers/thunderbolt/tb.c +1 -0
@@ -10,6 +10,7 @@
 #include <linux/errno.h>
 #include <linux/delay.h>
 #include <linux/pm_runtime.h>
+#include <linux/stringify.h>
 
 #include "tb.h"
 #include "tb_regs.h"
@@ -46,7 +47,7 @@ static unsigned int asym_threshold =
 TB_ASYM_THRESHOLD;  module_param_named(asym_threshold, asym_threshold,
 uint, 0444);  MODULE_PARM_DESC(asym_threshold,
 		"threshold (Mb/s) when to Gen 4 switch link symmetry. 0

disables. (default: "

drivers/thunderbolt/tb.c +1 -1
-		__MODULE_STRING(TB_ASYM_THRESHOLD) ")");
+		__stringify(TB_ASYM_THRESHOLD) ")");
 
 /**
  * struct tb_cm - Simple Thunderbolt connection manager diff --git

a/drivers/thunderbolt/tunnel.c b/drivers/thunderbolt/tunnel.c index ffd2d04b3bfa..2b911372001c 100644

drivers/thunderbolt/tunnel.c +1 -0
@@ -11,6 +11,7 @@
 #include <linux/list.h>
 #include <linux/ktime.h>
 #include <linux/string_helpers.h>
+#include <linux/stringify.h>
 
 #include "tunnel.h"
 #include "tb.h"
@@ -89,12 +90,12 @@ static int dprx_timeout = TB_DPRX_TIMEOUT;
 module_param(dprx_timeout, int, 0444);  MODULE_PARM_DESC(dprx_timeout,
 		 "DPRX capability read timeout in ms, -1 waits forever

(default: "

drivers/thunderbolt/tunnel.c +1 -1
-		 __MODULE_STRING(TB_DPRX_TIMEOUT) ")");
+		 __stringify(TB_DPRX_TIMEOUT) ")");
 
 static unsigned int dma_credits = TB_DMA_CREDITS;

module_param(dma_credits, uint, 0444); MODULE_PARM_DESC(dma_credits, "specify custom credits for DMA tunnels (default: "

drivers/thunderbolt/tunnel.c +1 -1
-                __MODULE_STRING(TB_DMA_CREDITS) ")");
+		 __stringify(TB_DMA_CREDITS) ")");
 
 static bool bw_alloc_mode = true;
 module_param(bw_alloc_mode, bool, 0444); diff --git

a/drivers/tty/serial/8250/8250_platform.c
b/drivers/tty/serial/8250/8250_platform.c
index 0570366a71d0..972e474654ac 100644

drivers/tty/serial/8250/8250_platform.c +1 -0
@@ -16,6 +16,7 @@
 #include <linux/moduleparam.h>
 #include <linux/once.h>
 #include <linux/platform_device.h>
+#include <linux/stringify.h>
 
 #include <linux/serial_8250.h>
 
@@ -389,6 +390,6 @@ module_param_hw(share_irqs, bool, other, 0644);

MODULE_PARM_DESC(share_irqs, "Share IRQs with other non-8250/16x50 devices (unsafe)");

module_param(nr_uarts, uint, 0644);
-MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __MODULE_STRING(CONFIG_SERIAL_8250_NR_UARTS) ")");

drivers/tty/serial/8250/8250_platform.c +2 -0
+MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-"
+__stringify(CONFIG_SERIAL_8250_NR_UARTS) ")");
 
 MODULE_ALIAS_CHARDEV_MAJOR(TTY_MAJOR);
drivers/usb/atm/speedtch.c +1 -1
index 000f8eb24ead..b834eba09656 100644
@@ -19,6 +19,7 @@
 #include <linux/moduleparam.h>
 #include <linux/slab.h>
 #include <linux/stat.h>
+#include <linux/stringify.h>
 #include <linux/timer.h>
 #include <linux/types.h>
 #include <linux/usb/ch9.h>
@@ -77,31 +78,31 @@ static unsigned int num_ModemOption;
 module_param(altsetting, uint, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(altsetting,
 		"Alternative setting for data interface (bulk_default: "
-		__MODULE_STRING(DEFAULT_BULK_ALTSETTING) ";

isoc_default: "

drivers/usb/atm/speedtch.c +2 -1
-		__MODULE_STRING(DEFAULT_ISOC_ALTSETTING) ")");
+		__stringify(DEFAULT_BULK_ALTSETTING) "; isoc_default: "
+		__stringify(DEFAULT_ISOC_ALTSETTING) ")");
 
 module_param(dl_512_first, bool, S_IRUGO | S_IWUSR);

MODULE_PARM_DESC(dl_512_first,

drivers/usb/atm/speedtch.c +1 -1
 		 "Read 512 bytes before sending firmware (default: "
-		 __MODULE_STRING(DEFAULT_DL_512_FIRST) ")");
+		 __stringify(DEFAULT_DL_512_FIRST) ")");
 
 module_param(enable_isoc, bool, S_IRUGO | S_IWUSR);

MODULE_PARM_DESC(enable_isoc,

drivers/usb/atm/speedtch.c +1 -1
 		"Use isochronous transfers if available (default: "
-		__MODULE_STRING(DEFAULT_ENABLE_ISOC) ")");
+		__stringify(DEFAULT_ENABLE_ISOC) ")");
 
 module_param(sw_buffering, bool, S_IRUGO | S_IWUSR);

MODULE_PARM_DESC(sw_buffering,

drivers/usb/atm/speedtch.c +1 -1
 		 "Enable software buffering (default: "
-		 __MODULE_STRING(DEFAULT_SW_BUFFERING) ")");
+		 __stringify(DEFAULT_SW_BUFFERING) ")");
 
 module_param(BMaxDSL, uint, S_IRUGO | S_IWUSR);

MODULE_PARM_DESC(BMaxDSL,

drivers/usb/atm/speedtch.c +1 -1
-		"default: " __MODULE_STRING(DEFAULT_B_MAX_DSL));
+		"default: " __stringify(DEFAULT_B_MAX_DSL));
 
 module_param(ModemMode, byte, S_IRUGO | S_IWUSR);

MODULE_PARM_DESC(ModemMode,

drivers/usb/atm/speedtch.c +1 -1
-		"default: " __MODULE_STRING(DEFAULT_MODEM_MODE));
+		"default: " __stringify(DEFAULT_MODEM_MODE));
 
 module_param_array(ModemOption, byte, &num_ModemOption, S_IRUGO);

MODULE_PARM_DESC(ModemOption, "default: 0x10,0x00,0x00,0x00,0x20");

drivers/usb/atm/usbatm.c index renamed from drivers/usb/atm/usbatm.c +0 -0

7b0c791399ea..d4052d206e00 100644

drivers/usb/atm/usbatm.c +5 -4
@@ -64,6 +64,7 @@
 #include <linux/signal.h>
 #include <linux/slab.h>
 #include <linux/stat.h>
+#include <linux/stringify.h>
 #include <linux/timer.h>
 #include <linux/wait.h>
 #include <linux/kthread.h>
@@ -103,26 +104,26 @@ static unsigned int snd_buf_bytes =
 UDSL_DEFAULT_SND_BUF_SIZE;  module_param(num_rcv_urbs, uint, S_IRUGO);
 MODULE_PARM_DESC(num_rcv_urbs,
 		 "Number of urbs used for reception (range: 0-"
-		 __MODULE_STRING(UDSL_MAX_RCV_URBS) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_RCV_URBS) ")");
+		 __stringify(UDSL_MAX_RCV_URBS) ", default: "
+		 __stringify(UDSL_DEFAULT_RCV_URBS) ")");
 
 module_param(num_snd_urbs, uint, S_IRUGO);
 MODULE_PARM_DESC(num_snd_urbs,
 		 "Number of urbs used for transmission (range: 0-"
-		 __MODULE_STRING(UDSL_MAX_SND_URBS) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_SND_URBS) ")");
+		 __stringify(UDSL_MAX_SND_URBS) ", default: "
+		 __stringify(UDSL_DEFAULT_SND_URBS) ")");
 
 module_param(rcv_buf_bytes, uint, S_IRUGO);
 MODULE_PARM_DESC(rcv_buf_bytes,
 		 "Size of the buffers used for reception, in bytes

(range: 1-"

drivers/usb/atm/usbatm.c +2 -2
-		 __MODULE_STRING(UDSL_MAX_BUF_SIZE) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_RCV_BUF_SIZE) ")");
+		 __stringify(UDSL_MAX_BUF_SIZE) ", default: "
+		 __stringify(UDSL_DEFAULT_RCV_BUF_SIZE) ")");
 
 module_param(snd_buf_bytes, uint, S_IRUGO);

MODULE_PARM_DESC(snd_buf_bytes,
"Size of the buffers used for transmission, in bytes
(range: 1-"

drivers/usb/atm/usbatm.c +2 -3
-		 __MODULE_STRING(UDSL_MAX_BUF_SIZE) ", default: "
-		 __MODULE_STRING(UDSL_DEFAULT_SND_BUF_SIZE) ")");
+		 __stringify(UDSL_MAX_BUF_SIZE) ", default: "
+		 __stringify(UDSL_DEFAULT_SND_BUF_SIZE) ")");
 
 
 /* receive */
 
--
Quoted 1 line

2.55.0

author maintainer
#9 lore raw

PATCH v2 3/3 module: Remove obsolete __MODULE_STRING()

In reply to Petr Pavlu

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Remove __MODULE_STRING() now that all remaining uses have been replaced directly with __stringify().

---
 include/linux/module.h | 4 ----
 1 file changed, 4 deletions(-)
include/linux/module.h +0 -4
index f6f90cd88f15..37de77340032 100644
@@ -896,10 +896,6 @@ extern const struct kobj_type module_ktype;
 
 #define symbol_request(x) try_then_request_module(symbol_get(x), "symbol:" #x)
 
-/* BELOW HERE ALL THESE ARE OBSOLETE AND WILL VANISH */
-
-#define __MODULE_STRING(x) __stringify(x)
-
 #ifdef CONFIG_GENERIC_BUG
 void module_bug_finalize(const Elf_Ehdr *, const Elf_Shdr *,
 			 struct module *);
Signature · 1 line
2.55.0
#10 lore raw

Re: [PATCH v2 3/3] module: Remove obsolete __MODULE_STRING()

Sashiko has reviewed this patch and found no issues. It looks great!
Quoted 10 lines

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Remove __MODULE_STRING() now that all remaining uses have been replaced directly with __stringify().

Sashiko has reviewed this patch and found no issues. It looks great!

Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=3
author maintainer
#11 lore raw
In reply to Petr Pavlu
Quoted 10 lines · Petr Pavlu

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() and remove the macro.

Apologies for the wide distribution. Acked-bys are appreciated.

[1] https://git.kernel.org/tglx/history/c/136839a1b4

I've queued the second patch ("drivers: Replace __MODULE_STRING() with __stringify()") on modules-next for v7.4-rc1. Thanks for the Acked-byes and reviews.

The first patch ("hwmon: Replace __MODULE_STRING() with __stringify()") should go through the hwmon tree. Once these changes are in mainline, I plan to pick up the final patch ("module: Remove obsolete __MODULE_STRING()").

-- Petr

author maintainer
#12 lore raw
Quoted 12 lines · Petr Pavlu
Quoted 10 lines · Petr Pavlu

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() and remove the macro.

Apologies for the wide distribution. Acked-bys are appreciated.

[1] https://git.kernel.org/tglx/history/c/136839a1b4

Quoted 8 lines

I've queued the second patch ("drivers: Replace __MODULE_STRING() with __stringify()") on modules-next for v7.4-rc1. Thanks for the Acked-byes and reviews.

The first patch ("hwmon: Replace __MODULE_STRING() with __stringify()") should go through the hwmon tree. Once these changes are in mainline, I plan to pick up the final patch ("module: Remove obsolete __MODULE_STRING()").

v7.4-rc1 no longer contains any __MODULE_STRING() calls, so I've queued the final removal in patch 3 on modules-next for 7.5-rc1.

-- Petr

#13 lore raw
Quoted 17 lines · Petr Pavlu
Quoted 16 lines · Petr Pavlu
Quoted 10 lines · Petr Pavlu

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() and remove the macro.

Apologies for the wide distribution. Acked-bys are appreciated.

[1] https://git.kernel.org/tglx/history/c/136839a1b4

I've queued the second patch ("drivers: Replace __MODULE_STRING() with __stringify()") on modules-next for v7.4-rc1. Thanks for the Acked-byes and reviews.

Quoted 7 lines
Quoted 4 lines

The first patch ("hwmon: Replace __MODULE_STRING() with __stringify()") should go through the hwmon tree. Once these changes are in mainline, I plan to pick up the final patch ("module: Remove obsolete __MODULE_STRING()").

v7.4-rc1 no longer contains any __MODULE_STRING() calls, so I've queued the final removal in patch 3 on modules-next for 7.5-rc1.

Perhaps send it for v7.4-rc3 to prevent *new* __MODULE_STRING() users from cropping up between now and v7.5-rc1?

BR,
Jani.

Signature · 1 line
Jani Nikula, Intel
author maintainer
#14 lore raw
Quoted 23 lines · Jani Nikula
Quoted 22 lines · Petr Pavlu
Quoted 20 lines · Petr Pavlu
Quoted 10 lines · Petr Pavlu

__MODULE_STRING() has been an alias for __stringify() since "[PATCH] MODULE_PARM support for older modules" [1] in 2002-12. That change also moved it to the graveyard section at the end of linux/module.h

Replace the remaining uses of __MODULE_STRING() with __stringify() and remove the macro.

Apologies for the wide distribution. Acked-bys are appreciated.

[1] https://git.kernel.org/tglx/history/c/136839a1b4

I've queued the second patch ("drivers: Replace __MODULE_STRING() with __stringify()") on modules-next for v7.4-rc1. Thanks for the Acked-byes and reviews.

The first patch ("hwmon: Replace __MODULE_STRING() with __stringify()") should go through the hwmon tree. Once these changes are in mainline, I plan to pick up the final patch ("module: Remove obsolete __MODULE_STRING()").

Quoted 5 lines
Quoted 2 lines

v7.4-rc1 no longer contains any __MODULE_STRING() calls, so I've queued the final removal in patch 3 on modules-next for 7.5-rc1.

Perhaps send it for v7.4-rc3 to prevent *new* __MODULE_STRING() users from cropping up between now and v7.5-rc1?

If I need to send an earlier pull request for the module loader, I'll include this patch as well.

-- Petr