Commit 8d3b33f67fdc0fb364a1ef6d8fbbea7c2e4e6c98

Authored by Rusty Russell
Committed by Linus Torvalds
1 parent c721bccece

[PATCH] Remove MODULE_PARM

MODULE_PARM was actually breaking: recent gcc version optimize them out as
unused.  It's time to replace the last users, which are generally in the
most unloved drivers anyway.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 56 changed files with 146 additions and 329 deletions Side-by-side Diff

Documentation/networking/ray_cs.txt
... ... @@ -25,7 +25,7 @@
25 25 This will change after the method of sorting out parameters for all
26 26 the PCMCIA drivers is agreed upon. If you must have a built in driver
27 27 with nondefault parameters, they can be edited in
28   -/usr/src/linux/drivers/net/pcmcia/ray_cs.c. Searching for MODULE_PARM
  28 +/usr/src/linux/drivers/net/pcmcia/ray_cs.c. Searching for module_param
29 29 will find them all.
30 30  
31 31 Information on card services is available at:
Documentation/sound/oss/Introduction
... ... @@ -69,7 +69,7 @@
69 69  
70 70 Warning, the options for different cards sometime use different names
71 71 for the same or a similar feature (dma1= versus dma16=). As a last
72   -resort, inspect the code (search for MODULE_PARM).
  72 +resort, inspect the code (search for module_param).
73 73  
74 74 Notes:
75 75  
Documentation/sound/oss/cs46xx
... ... @@ -88,7 +88,7 @@
88 88  
89 89 MODULE_PARMS definitions
90 90 ------------------------
91   -MODULE_PARM(defaultorder, "i");
  91 +module_param(defaultorder, ulong, 0);
92 92 defaultorder=N
93 93 where N is a value from 1 to 12
94 94 The buffer order determines the size of the dma buffer for the driver.
95 95  
96 96  
... ... @@ -98,18 +98,18 @@
98 98 rather than 64k as some of the games work more responsively.
99 99 (2^N) * PAGE_SIZE = allocated buffer size
100 100  
101   -MODULE_PARM(cs_debuglevel, "i");
102   -MODULE_PARM(cs_debugmask, "i");
  101 +module_param(cs_debuglevel, ulong, 0644);
  102 +module_param(cs_debugmask, ulong, 0644);
103 103 cs_debuglevel=N
104 104 cs_debugmask=0xMMMMMMMM
105 105 where N is a value from 0 (no debug printfs), to 9 (maximum)
106 106 0xMMMMMMMM is a debug mask corresponding to the CS_xxx bits (see driver source).
107 107  
108   -MODULE_PARM(hercules_egpio_disable, "i");
  108 +module_param(hercules_egpio_disable, ulong, 0);
109 109 hercules_egpio_disable=N
110 110 where N is a 0 (enable egpio), or a 1 (disable egpio support)
111 111  
112   -MODULE_PARM(initdelay, "i");
  112 +module_param(initdelay, ulong, 0);
113 113 initdelay=N
114 114 This value is used to determine the millescond delay during the initialization
115 115 code prior to powering up the PLL. On laptops this value can be used to
116 116  
117 117  
... ... @@ -118,19 +118,19 @@
118 118 properly delay the required time. Also, if the system is booted under AC power
119 119 and then the power removed, the mdelay()/udelay() functions will not delay properly.
120 120  
121   -MODULE_PARM(powerdown, "i");
  121 +module_param(powerdown, ulong, 0);
122 122 powerdown=N
123 123 where N is 0 (disable any powerdown of the internal blocks) or 1 (enable powerdown)
124 124  
125 125  
126   -MODULE_PARM(external_amp, "i");
  126 +module_param(external_amp, bool, 0);
127 127 external_amp=1
128 128 if N is set to 1, then force enabling the EAPD support in the primary AC97 codec.
129 129 override the detection logic and force the external amp bit in the AC97 0x26 register
130 130 to be reset (0). EAPD should be 0 for powerup, and 1 for powerdown. The VTB Santa Cruz
131 131 card has inverted logic, so there is a special function for these cards.
132 132  
133   -MODULE_PARM(thinkpad, "i");
  133 +module_param(thinkpad, bool, 0);
134 134 thinkpad=1
135 135 if N is set to 1, then force enabling the clkrun functionality.
136 136 Currently, when the part is being used, then clkrun is disabled for the entire system,
arch/ppc/8xx_io/cs4218_tdm.c
... ... @@ -126,11 +126,11 @@
126 126 */
127 127 static volatile cbd_t *rx_base, *rx_cur, *tx_base, *tx_cur;
128 128  
129   -MODULE_PARM(catchRadius, "i");
130   -MODULE_PARM(numBufs, "i");
131   -MODULE_PARM(bufSize, "i");
132   -MODULE_PARM(numreadBufs, "i");
133   -MODULE_PARM(readbufSize, "i");
  129 +module_param(catchRadius, int, 0);
  130 +module_param(numBufs, int, 0);
  131 +module_param(bufSize, int, 0);
  132 +module_param(numreadBufs, int, 0);
  133 +module_param(readbufSize, int, 0);
134 134  
135 135 #define arraysize(x) (sizeof(x)/sizeof(*(x)))
136 136 #define le2be16(x) (((x)<<8 & 0xff00) | ((x)>>8 & 0x00ff))
drivers/block/ataflop.c
... ... @@ -271,7 +271,7 @@
271 271 static unsigned long PhysDMABuffer; /* physical address */
272 272  
273 273 static int UseTrackbuffer = -1; /* Do track buffering? */
274   -MODULE_PARM(UseTrackbuffer, "i");
  274 +module_param(UseTrackbuffer, int, 0);
275 275  
276 276 unsigned char *TrackBuffer; /* buffer for reads */
277 277 static unsigned long PhysTrackBuffer; /* physical address */
... ... @@ -296,7 +296,7 @@
296 296 static int IsFormatting = 0, FormatError;
297 297  
298 298 static int UserSteprate[FD_MAX_UNITS] = { -1, -1 };
299   -MODULE_PARM(UserSteprate, "1-" __MODULE_STRING(FD_MAX_UNITS) "i");
  299 +module_param_array(UserSteprate, int, NULL, 0);
300 300  
301 301 /* Synchronization of FDC access. */
302 302 static volatile int fdc_busy = 0;
drivers/cdrom/cm206.c
... ... @@ -218,12 +218,12 @@
218 218 static int cm206_irq = CM206_IRQ;
219 219 #ifdef MODULE
220 220 static int cm206[2] = { 0, 0 }; /* for compatible `insmod' parameter passing */
  221 +module_param_array(cm206, int, NULL, 0); /* base,irq or irq,base */
221 222 #endif
222 223  
223   -MODULE_PARM(cm206_base, "i"); /* base */
224   -MODULE_PARM(cm206_irq, "i"); /* irq */
225   -MODULE_PARM(cm206, "1-2i"); /* base,irq or irq,base */
226   -MODULE_PARM(auto_probe, "i"); /* auto probe base and irq */
  224 +module_param(cm206_base, int, 0); /* base */
  225 +module_param(cm206_irq, int, 0); /* irq */
  226 +module_param(auto_probe, bool, 0); /* auto probe base and irq */
227 227 MODULE_LICENSE("GPL");
228 228  
229 229 #define POLLOOP 100 /* milliseconds */
drivers/cdrom/sbpcd.c
... ... @@ -464,8 +464,13 @@
464 464 static __cacheline_aligned DEFINE_SPINLOCK(sbpcd_lock);
465 465 static struct request_queue *sbpcd_queue;
466 466  
467   -MODULE_PARM(sbpcd, "2i");
468   -MODULE_PARM(max_drives, "i");
  467 +/* You can only set the first pair, from old MODULE_PARM code. */
  468 +static int sbpcd_set(const char *val, struct kernel_param *kp)
  469 +{
  470 + get_options((char *)val, 2, (int *)sbpcd);
  471 + return 0;
  472 +}
  473 +module_param_call(sbpcd, sbpcd_set, NULL, NULL, 0);
469 474  
470 475 #define NUM_PROBE (sizeof(sbpcd) / sizeof(int))
471 476  
... ... @@ -553,6 +558,7 @@
553 558 static char msgbuf[80];
554 559  
555 560 static int max_drives = MAX_DRIVES;
  561 +module_param(max_drives, int, 0);
556 562 #ifndef MODULE
557 563 static unsigned char setup_done;
558 564 static const char *str_sb_l = "soundblaster";
drivers/char/istallion.c
... ... @@ -378,13 +378,13 @@
378 378 MODULE_LICENSE("GPL");
379 379  
380 380  
381   -MODULE_PARM(board0, "1-3s");
  381 +module_param_array(board0, charp, NULL, 0);
382 382 MODULE_PARM_DESC(board0, "Board 0 config -> name[,ioaddr[,memaddr]");
383   -MODULE_PARM(board1, "1-3s");
  383 +module_param_array(board1, charp, NULL, 0);
384 384 MODULE_PARM_DESC(board1, "Board 1 config -> name[,ioaddr[,memaddr]");
385   -MODULE_PARM(board2, "1-3s");
  385 +module_param_array(board2, charp, NULL, 0);
386 386 MODULE_PARM_DESC(board2, "Board 2 config -> name[,ioaddr[,memaddr]");
387   -MODULE_PARM(board3, "1-3s");
  387 +module_param_array(board3, charp, NULL, 0);
388 388 MODULE_PARM_DESC(board3, "Board 3 config -> name[,ioaddr[,memaddr]");
389 389  
390 390 #endif
drivers/char/mxser.c
... ... @@ -243,10 +243,10 @@
243 243  
244 244 MODULE_AUTHOR("Casper Yang");
245 245 MODULE_DESCRIPTION("MOXA Smartio/Industio Family Multiport Board Device Driver");
246   -MODULE_PARM(ioaddr, "1-4i");
247   -MODULE_PARM(ttymajor, "i");
248   -MODULE_PARM(calloutmajor, "i");
249   -MODULE_PARM(verbose, "i");
  246 +module_param_array(ioaddr, int, NULL, 0);
  247 +module_param(ttymajor, int, 0);
  248 +module_param(calloutmajor, int, 0);
  249 +module_param(verbose, bool, 0);
250 250 MODULE_LICENSE("GPL");
251 251  
252 252 struct mxser_log {
drivers/char/riscom8.c
... ... @@ -1743,10 +1743,10 @@
1743 1743 static int iobase1;
1744 1744 static int iobase2;
1745 1745 static int iobase3;
1746   -MODULE_PARM(iobase, "i");
1747   -MODULE_PARM(iobase1, "i");
1748   -MODULE_PARM(iobase2, "i");
1749   -MODULE_PARM(iobase3, "i");
  1746 +module_param(iobase, int, 0);
  1747 +module_param(iobase1, int, 0);
  1748 +module_param(iobase2, int, 0);
  1749 +module_param(iobase3, int, 0);
1750 1750  
1751 1751 MODULE_LICENSE("GPL");
1752 1752 #endif /* MODULE */
drivers/isdn/hardware/avm/b1dma.c
... ... @@ -39,7 +39,7 @@
39 39 MODULE_LICENSE("GPL");
40 40  
41 41 static int suppress_pollack = 0;
42   -MODULE_PARM(suppress_pollack, "0-1i");
  42 +module_param(suppress_pollack, bool, 0);
43 43  
44 44 /* ------------------------------------------------------------- */
45 45  
drivers/isdn/hardware/avm/b1isa.c
... ... @@ -169,8 +169,8 @@
169 169 static int io[MAX_CARDS];
170 170 static int irq[MAX_CARDS];
171 171  
172   -MODULE_PARM(io, "1-" __MODULE_STRING(MAX_CARDS) "i");
173   -MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_CARDS) "i");
  172 +module_param_array(io, int, NULL, 0);
  173 +module_param_array(irq, int, NULL, 0);
174 174 MODULE_PARM_DESC(io, "I/O base address(es)");
175 175 MODULE_PARM_DESC(irq, "IRQ number(s) (assigned)");
176 176  
drivers/isdn/hardware/avm/c4.c
... ... @@ -50,7 +50,7 @@
50 50 MODULE_DESCRIPTION("CAPI4Linux: Driver for AVM C2/C4 cards");
51 51 MODULE_AUTHOR("Carsten Paeth");
52 52 MODULE_LICENSE("GPL");
53   -MODULE_PARM(suppress_pollack, "0-1i");
  53 +module_param(suppress_pollack, bool, 0);
54 54  
55 55 /* ------------------------------------------------------------- */
56 56  
drivers/isdn/hardware/avm/t1isa.c
... ... @@ -519,9 +519,9 @@
519 519 static int irq[MAX_CARDS];
520 520 static int cardnr[MAX_CARDS];
521 521  
522   -MODULE_PARM(io, "1-" __MODULE_STRING(MAX_CARDS) "i");
523   -MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_CARDS) "i");
524   -MODULE_PARM(cardnr, "1-" __MODULE_STRING(MAX_CARDS) "i");
  522 +module_param_array(io, int, NULL, 0);
  523 +module_param_array(irq, int, NULL, 0);
  524 +module_param_array(cardnr, int, NULL, 0);
525 525 MODULE_PARM_DESC(io, "I/O base address(es)");
526 526 MODULE_PARM_DESC(irq, "IRQ number(s) (assigned)");
527 527 MODULE_PARM_DESC(cardnr, "Card number(s) (as jumpered)");
drivers/isdn/hysdn/hycapi.c
... ... @@ -31,7 +31,7 @@
31 31 static char hycapi_revision[]="$Revision: 1.8.6.4 $";
32 32  
33 33 unsigned int hycapi_enable = 0xffffffff;
34   -MODULE_PARM(hycapi_enable, "i");
  34 +module_param(hycapi_enable, uint, 0);
35 35  
36 36 typedef struct _hycapi_appl {
37 37 unsigned int ctrl_mask;
drivers/isdn/hysdn/hysdn_net.c
... ... @@ -24,7 +24,7 @@
24 24 #include "hysdn_defs.h"
25 25  
26 26 unsigned int hynet_enable = 0xffffffff;
27   -MODULE_PARM(hynet_enable, "i");
  27 +module_param(hynet_enable, uint, 0);
28 28  
29 29 /* store the actual version for log reporting */
30 30 char *hysdn_net_revision = "$Revision: 1.8.6.4 $";
drivers/isdn/isdnloop/isdnloop.c
... ... @@ -22,7 +22,7 @@
22 22 MODULE_DESCRIPTION("ISDN4Linux: Pseudo Driver that simulates an ISDN card");
23 23 MODULE_AUTHOR("Fritz Elfert");
24 24 MODULE_LICENSE("GPL");
25   -MODULE_PARM(isdnloop_id, "s");
  25 +module_param(isdnloop_id, charp, 0);
26 26 MODULE_PARM_DESC(isdnloop_id, "ID-String of first card");
27 27  
28 28 static int isdnloop_addcard(char *);
drivers/media/video/zr36120.c
... ... @@ -70,10 +70,10 @@
70 70 MODULE_DESCRIPTION("Zoran ZR36120 based framegrabber");
71 71 MODULE_LICENSE("GPL");
72 72  
73   -MODULE_PARM(triton1,"i");
74   -MODULE_PARM(cardtype,"1-" __MODULE_STRING(ZORAN_MAX) "i");
75   -MODULE_PARM(video_nr,"i");
76   -MODULE_PARM(vbi_nr,"i");
  73 +module_param(triton1, uint, 0);
  74 +module_param_array(cardtype, uint, NULL, 0);
  75 +module_param(video_nr, int, 0);
  76 +module_param(vbi_nr, int, 0);
77 77  
78 78 static int zoran_cards;
79 79 static struct zoran zorans[ZORAN_MAX];
drivers/mmc/au1xmmc.c
... ... @@ -87,7 +87,7 @@
87 87 static int dma = 1;
88 88  
89 89 #ifdef MODULE
90   -MODULE_PARM(dma, "i");
  90 +module_param(dma, bool, 0);
91 91 MODULE_PARM_DESC(dma, "Use DMA engine for data transfers (0 = disabled)");
92 92 #endif
93 93  
drivers/mtd/maps/pcmciamtd.c
... ... @@ -28,7 +28,7 @@
28 28  
29 29 #ifdef CONFIG_MTD_DEBUG
30 30 static int debug = CONFIG_MTD_DEBUG_VERBOSE;
31   -MODULE_PARM(debug, "i");
  31 +module_param(debug, int, 0);
32 32 MODULE_PARM_DESC(debug, "Set Debug Level 0=quiet, 5=noisy");
33 33 #undef DEBUG
34 34 #define DEBUG(n, format, arg...) \
35 35  
36 36  
37 37  
38 38  
39 39  
... ... @@ -89,17 +89,17 @@
89 89 MODULE_LICENSE("GPL");
90 90 MODULE_AUTHOR("Simon Evans <spse@secret.org.uk>");
91 91 MODULE_DESCRIPTION(DRIVER_DESC);
92   -MODULE_PARM(bankwidth, "i");
  92 +module_param(bankwidth, int, 0);
93 93 MODULE_PARM_DESC(bankwidth, "Set bankwidth (1=8 bit, 2=16 bit, default=2)");
94   -MODULE_PARM(mem_speed, "i");
  94 +module_param(mem_speed, int, 0);
95 95 MODULE_PARM_DESC(mem_speed, "Set memory access speed in ns");
96   -MODULE_PARM(force_size, "i");
  96 +module_param(force_size, int, 0);
97 97 MODULE_PARM_DESC(force_size, "Force size of card in MiB (1-64)");
98   -MODULE_PARM(setvpp, "i");
  98 +module_param(setvpp, int, 0);
99 99 MODULE_PARM_DESC(setvpp, "Set Vpp (0=Never, 1=On writes, 2=Always on, default=0)");
100   -MODULE_PARM(vpp, "i");
  100 +module_param(vpp, int, 0);
101 101 MODULE_PARM_DESC(vpp, "Vpp value in 1/10ths eg 33=3.3V 120=12V (Dangerous)");
102   -MODULE_PARM(mem_type, "i");
  102 +module_param(mem_type, int, 0);
103 103 MODULE_PARM_DESC(mem_type, "Set Memory type (0=Flash, 1=RAM, 2=ROM, default=0)");
104 104  
105 105  
drivers/net/atari_bionet.c
... ... @@ -123,7 +123,7 @@
123 123 * Global variable 'bionet_debug'. Can be set at load time by 'insmod'
124 124 */
125 125 unsigned int bionet_debug = NET_DEBUG;
126   -MODULE_PARM(bionet_debug, "i");
  126 +module_param(bionet_debug, int, 0);
127 127 MODULE_PARM_DESC(bionet_debug, "bionet debug level (0-2)");
128 128 MODULE_LICENSE("GPL");
129 129  
drivers/net/atari_pamsnet.c
... ... @@ -119,7 +119,7 @@
119 119 * Global variable 'pamsnet_debug'. Can be set at load time by 'insmod'
120 120 */
121 121 unsigned int pamsnet_debug = NET_DEBUG;
122   -MODULE_PARM(pamsnet_debug, "i");
  122 +module_param(pamsnet_debug, int, 0);
123 123 MODULE_PARM_DESC(pamsnet_debug, "pamsnet debug enable (0-1)");
124 124 MODULE_LICENSE("GPL");
125 125  
drivers/net/atarilance.c
... ... @@ -78,7 +78,7 @@
78 78 #else
79 79 static int lance_debug = 1;
80 80 #endif
81   -MODULE_PARM(lance_debug, "i");
  81 +module_param(lance_debug, int, 0);
82 82 MODULE_PARM_DESC(lance_debug, "atarilance debug level (0-3)");
83 83 MODULE_LICENSE("GPL");
84 84  
drivers/net/cassini.c
... ... @@ -192,12 +192,15 @@
192 192 static char version[] __devinitdata =
193 193 DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
194 194  
  195 +static int cassini_debug = -1; /* -1 == use CAS_DEF_MSG_ENABLE as value */
  196 +static int link_mode;
  197 +
195 198 MODULE_AUTHOR("Adrian Sun (asun@darksunrising.com)");
196 199 MODULE_DESCRIPTION("Sun Cassini(+) ethernet driver");
197 200 MODULE_LICENSE("GPL");
198   -MODULE_PARM(cassini_debug, "i");
  201 +module_param(cassini_debug, int, 0);
199 202 MODULE_PARM_DESC(cassini_debug, "Cassini bitmapped debugging message enable value");
200   -MODULE_PARM(link_mode, "i");
  203 +module_param(link_mode, int, 0);
201 204 MODULE_PARM_DESC(link_mode, "default link mode");
202 205  
203 206 /*
... ... @@ -209,7 +212,7 @@
209 212 * Value in seconds, for user input.
210 213 */
211 214 static int linkdown_timeout = DEFAULT_LINKDOWN_TIMEOUT;
212   -MODULE_PARM(linkdown_timeout, "i");
  215 +module_param(linkdown_timeout, int, 0);
213 216 MODULE_PARM_DESC(linkdown_timeout,
214 217 "min reset interval in sec. for PCS linkdown issue; disabled if not positive");
215 218  
... ... @@ -221,8 +224,6 @@
221 224 static int link_transition_timeout;
222 225  
223 226  
224   -static int cassini_debug = -1; /* -1 == use CAS_DEF_MSG_ENABLE as value */
225   -static int link_mode;
226 227  
227 228 static u16 link_modes[] __devinitdata = {
228 229 BMCR_ANENABLE, /* 0 : autoneg */
drivers/net/chelsio/cxgb2.c
... ... @@ -124,7 +124,7 @@
124 124  
125 125 static int dflt_msg_enable = DFLT_MSG_ENABLE;
126 126  
127   -MODULE_PARM(dflt_msg_enable, "i");
  127 +module_param(dflt_msg_enable, int, 0);
128 128 MODULE_PARM_DESC(dflt_msg_enable, "Chelsio T1 message enable bitmap");
129 129  
130 130  
drivers/net/fec_8xx/fec_main.c
... ... @@ -55,11 +55,11 @@
55 55 MODULE_DESCRIPTION("Motorola 8xx FEC ethernet driver");
56 56 MODULE_LICENSE("GPL");
57 57  
58   -MODULE_PARM(fec_8xx_debug, "i");
  58 +int fec_8xx_debug = -1; /* -1 == use FEC_8XX_DEF_MSG_ENABLE as value */
  59 +module_param(fec_8xx_debug, int, 0);
59 60 MODULE_PARM_DESC(fec_8xx_debug,
60 61 "FEC 8xx bitmapped debugging message enable value");
61 62  
62   -int fec_8xx_debug = -1; /* -1 == use FEC_8XX_DEF_MSG_ENABLE as value */
63 63  
64 64 /*************************************************/
65 65  
drivers/net/fs_enet/fs_enet-main.c
... ... @@ -58,11 +58,11 @@
58 58 MODULE_LICENSE("GPL");
59 59 MODULE_VERSION(DRV_MODULE_VERSION);
60 60  
61   -MODULE_PARM(fs_enet_debug, "i");
  61 +int fs_enet_debug = -1; /* -1 == use FS_ENET_DEF_MSG_ENABLE as value */
  62 +module_param(fs_enet_debug, int, 0);
62 63 MODULE_PARM_DESC(fs_enet_debug,
63 64 "Freescale bitmapped debugging message enable value");
64 65  
65   -int fs_enet_debug = -1; /* -1 == use FS_ENET_DEF_MSG_ENABLE as value */
66 66  
67 67 static void fs_set_multicast_list(struct net_device *dev)
68 68 {
drivers/net/gt96100eth.c
... ... @@ -114,8 +114,8 @@
114 114  
115 115 static char mac0[18] = "00.02.03.04.05.06";
116 116 static char mac1[18] = "00.01.02.03.04.05";
117   -MODULE_PARM(mac0, "c18");
118   -MODULE_PARM(mac1, "c18");
  117 +module_param_string(mac0, mac0, 18, 0);
  118 +module_param_string(mac1, mac0, 18, 0);
119 119 MODULE_PARM_DESC(mac0, "MAC address for GT96100 ethernet port 0");
120 120 MODULE_PARM_DESC(mac1, "MAC address for GT96100 ethernet port 1");
121 121  
drivers/net/hamradio/dmascc.c
... ... @@ -280,7 +280,7 @@
280 280  
281 281 MODULE_AUTHOR("Klaus Kudielka");
282 282 MODULE_DESCRIPTION("Driver for high-speed SCC boards");
283   -MODULE_PARM(io, "1-" __MODULE_STRING(MAX_NUM_DEVS) "i");
  283 +module_param_array(io, int, NULL, 0);
284 284 MODULE_LICENSE("GPL");
285 285  
286 286 static void __exit dmascc_exit(void)
drivers/net/hamradio/mkiss.c
... ... @@ -1012,7 +1012,7 @@
1012 1012  
1013 1013 MODULE_AUTHOR("Ralf Baechle DL5RB <ralf@linux-mips.org>");
1014 1014 MODULE_DESCRIPTION("KISS driver for AX.25 over TTYs");
1015   -MODULE_PARM(crc_force, "i");
  1015 +module_param(crc_force, int, 0);
1016 1016 MODULE_PARM_DESC(crc_force, "crc [0 = auto | 1 = none | 2 = flexnet | 3 = smack]");
1017 1017 MODULE_LICENSE("GPL");
1018 1018 MODULE_ALIAS_LDISC(N_AX25);
drivers/net/irda/irport.c
... ... @@ -1118,9 +1118,9 @@
1118 1118 }
1119 1119 }
1120 1120  
1121   -MODULE_PARM(io, "1-4i");
  1121 +module_param_array(io, int, NULL, 0);
1122 1122 MODULE_PARM_DESC(io, "Base I/O addresses");
1123   -MODULE_PARM(irq, "1-4i");
  1123 +module_param_array(irq, int, NULL, 0);
1124 1124 MODULE_PARM_DESC(irq, "IRQ lines");
1125 1125  
1126 1126 MODULE_AUTHOR("Dag Brattli <dagb@cs.uit.no>");
drivers/net/lasi_82596.c
... ... @@ -177,7 +177,7 @@
177 177 MODULE_AUTHOR("Richard Hirst");
178 178 MODULE_DESCRIPTION("i82596 driver");
179 179 MODULE_LICENSE("GPL");
180   -MODULE_PARM(i596_debug, "i");
  180 +module_param(i596_debug, int, 0);
181 181 MODULE_PARM_DESC(i596_debug, "lasi_82596 debug mask");
182 182  
183 183 /* Copy frames shorter than rx_copybreak, otherwise pass on up in
184 184  
... ... @@ -1520,9 +1520,9 @@
1520 1520 }
1521 1521 }
1522 1522  
1523   -MODULE_PARM(debug, "i");
1524   -MODULE_PARM_DESC(debug, "lasi_82596 debug mask");
1525 1523 static int debug = -1;
  1524 +module_param(debug, int, 0);
  1525 +MODULE_PARM_DESC(debug, "lasi_82596 debug mask");
1526 1526  
1527 1527 static int num_drivers;
1528 1528 static struct net_device *netdevs[MAX_DRIVERS];
drivers/net/mac89x0.c
... ... @@ -629,7 +629,7 @@
629 629 static struct net_device *dev_cs89x0;
630 630 static int debug;
631 631  
632   -MODULE_PARM(debug, "i");
  632 +module_param(debug, int, 0);
633 633 MODULE_PARM_DESC(debug, "CS89[02]0 debug level (0-5)");
634 634 MODULE_LICENSE("GPL");
635 635  
... ... @@ -1042,7 +1042,7 @@
1042 1042  
1043 1043 MODULE_AUTHOR("Paul Mackerras");
1044 1044 MODULE_DESCRIPTION("PowerMac MACE driver.");
1045   -MODULE_PARM(port_aaui, "i");
  1045 +module_param(port_aaui, int, 0);
1046 1046 MODULE_PARM_DESC(port_aaui, "MACE uses AAUI port (0-1)");
1047 1047 MODULE_LICENSE("GPL");
1048 1048  
... ... @@ -62,7 +62,7 @@
62 62  
63 63 #ifdef HAVE_TX_TIMEOUT
64 64 static int timeout = TX_TIMEOUT;
65   -MODULE_PARM(timeout, "i");
  65 +module_param(timeout, int, 0);
66 66 #endif
67 67  
68 68 /*
drivers/net/ne-h8300.c
... ... @@ -601,9 +601,9 @@
601 601 static int irq[MAX_NE_CARDS];
602 602 static int bad[MAX_NE_CARDS]; /* 0xbad = bad sig or no reset ack */
603 603  
604   -MODULE_PARM(io, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
605   -MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
606   -MODULE_PARM(bad, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
  604 +module_param_array(io, int, NULL, 0);
  605 +module_param_array(irq, int, NULL, 0);
  606 +module_param_array(bad, int, NULL, 0);
607 607 MODULE_PARM_DESC(io, "I/O base address(es)");
608 608 MODULE_PARM_DESC(irq, "IRQ number(s)");
609 609 MODULE_DESCRIPTION("H8/300 NE2000 Ethernet driver");
drivers/net/ni5010.c
... ... @@ -766,8 +766,8 @@
766 766 #ifdef MODULE
767 767 static struct net_device *dev_ni5010;
768 768  
769   -MODULE_PARM(io, "i");
770   -MODULE_PARM(irq, "i");
  769 +module_param(io, int, 0);
  770 +module_param(irq, int, 0);
771 771 MODULE_PARM_DESC(io, "ni5010 I/O base address");
772 772 MODULE_PARM_DESC(irq, "ni5010 IRQ number");
773 773  
drivers/net/sun3lance.c
... ... @@ -71,7 +71,7 @@
71 71 #else
72 72 static int lance_debug = 1;
73 73 #endif
74   -MODULE_PARM(lance_debug, "i");
  74 +module_param(lance_debug, int, 0);
75 75 MODULE_PARM_DESC(lance_debug, "SUN3 Lance debug level (0-3)");
76 76 MODULE_LICENSE("GPL");
77 77  
drivers/s390/block/dasd.c
... ... @@ -43,7 +43,6 @@
43 43 MODULE_DESCRIPTION("Linux on S/390 DASD device driver,"
44 44 " Copyright 2000 IBM Corporation");
45 45 MODULE_SUPPORTED_DEVICE("dasd");
46   -MODULE_PARM(dasd, "1-" __MODULE_STRING(256) "s");
47 46 MODULE_LICENSE("GPL");
48 47  
49 48 /*
drivers/s390/block/dasd_devmap.c
... ... @@ -16,6 +16,7 @@
16 16 #include <linux/config.h>
17 17 #include <linux/ctype.h>
18 18 #include <linux/init.h>
  19 +#include <linux/module.h>
19 20  
20 21 #include <asm/debug.h>
21 22 #include <asm/uaccess.h>
... ... @@ -69,6 +70,8 @@
69 70 * strings when running as a module.
70 71 */
71 72 static char *dasd[256];
  73 +module_param_array(dasd, charp, NULL, 0);
  74 +
72 75 /*
73 76 * Single spinlock to protect devmap structures and lists.
74 77 */
drivers/scsi/arm/cumana_2.c
... ... @@ -550,7 +550,7 @@
550 550  
551 551 MODULE_AUTHOR("Russell King");
552 552 MODULE_DESCRIPTION("Cumana SCSI-2 driver for Acorn machines");
553   -MODULE_PARM(term, "1-8i");
  553 +module_param_array(term, int, NULL, 0);
554 554 MODULE_PARM_DESC(term, "SCSI bus termination");
555 555 MODULE_LICENSE("GPL");
drivers/scsi/arm/eesox.c
... ... @@ -674,7 +674,7 @@
674 674  
675 675 MODULE_AUTHOR("Russell King");
676 676 MODULE_DESCRIPTION("EESOX 'Fast' SCSI driver for Acorn machines");
677   -MODULE_PARM(term, "1-8i");
  677 +module_param_array(term, int, NULL, 0);
678 678 MODULE_PARM_DESC(term, "SCSI bus termination");
679 679 MODULE_LICENSE("GPL");
drivers/scsi/arm/powertec.c
... ... @@ -466,7 +466,7 @@
466 466  
467 467 MODULE_AUTHOR("Russell King");
468 468 MODULE_DESCRIPTION("Powertec SCSI driver");
469   -MODULE_PARM(term, "1-8i");
  469 +module_param_array(term, int, NULL, 0);
470 470 MODULE_PARM_DESC(term, "SCSI bus termination");
471 471 MODULE_LICENSE("GPL");
drivers/scsi/atari_scsi.c
... ... @@ -239,17 +239,17 @@
239 239 #endif
240 240  
241 241 static int setup_can_queue = -1;
242   -MODULE_PARM(setup_can_queue, "i");
  242 +module_param(setup_can_queue, int, 0);
243 243 static int setup_cmd_per_lun = -1;
244   -MODULE_PARM(setup_cmd_per_lun, "i");
  244 +module_param(setup_cmd_per_lun, int, 0);
245 245 static int setup_sg_tablesize = -1;
246   -MODULE_PARM(setup_sg_tablesize, "i");
  246 +module_param(setup_sg_tablesize, int, 0);
247 247 #ifdef SUPPORT_TAGS
248 248 static int setup_use_tagged_queuing = -1;
249   -MODULE_PARM(setup_use_tagged_queuing, "i");
  249 +module_param(setup_use_tagged_queuing, int, 0);
250 250 #endif
251 251 static int setup_hostid = -1;
252   -MODULE_PARM(setup_hostid, "i");
  252 +module_param(setup_hostid, int, 0);
253 253  
254 254  
255 255 #if defined(CONFIG_TT_DMA_EMUL)
drivers/video/pm3fb.c
... ... @@ -3532,26 +3532,26 @@
3532 3532 MODULE_AUTHOR("Romain Dolbeau");
3533 3533 MODULE_DESCRIPTION("Permedia3 framebuffer device driver");
3534 3534 static char *mode[PM3_MAX_BOARD];
3535   -MODULE_PARM(mode,PM3_MAX_BOARD_MODULE_ARRAY_STRING);
  3535 +module_param_array(mode, charp, NULL, 0);
3536 3536 MODULE_PARM_DESC(mode,"video mode");
3537   -MODULE_PARM(disable,PM3_MAX_BOARD_MODULE_ARRAY_SHORT);
  3537 +module_param_array(disable, short, NULL, 0);
3538 3538 MODULE_PARM_DESC(disable,"disable board");
3539 3539 static short off[PM3_MAX_BOARD];
3540   -MODULE_PARM(off,PM3_MAX_BOARD_MODULE_ARRAY_SHORT);
  3540 +module_param_array(off, short, NULL, 0);
3541 3541 MODULE_PARM_DESC(off,"disable board");
3542 3542 static char *pciid[PM3_MAX_BOARD];
3543   -MODULE_PARM(pciid,PM3_MAX_BOARD_MODULE_ARRAY_STRING);
  3543 +module_param_array(pciid, charp, NULL, 0);
3544 3544 MODULE_PARM_DESC(pciid,"board PCI Id");
3545   -MODULE_PARM(noaccel,PM3_MAX_BOARD_MODULE_ARRAY_SHORT);
  3545 +module_param_array(noaccel, short, NULL, 0);
3546 3546 MODULE_PARM_DESC(noaccel,"disable accel");
3547 3547 static char *font[PM3_MAX_BOARD];
3548   -MODULE_PARM(font,PM3_MAX_BOARD_MODULE_ARRAY_STRING);
  3548 +module_param_array(font, charp, NULL, 0);
3549 3549 MODULE_PARM_DESC(font,"choose font");
3550   -MODULE_PARM(depth,PM3_MAX_BOARD_MODULE_ARRAY_SHORT);
  3550 +module_param(depth, short, NULL, 0);
3551 3551 MODULE_PARM_DESC(depth,"boot-time depth");
3552   -MODULE_PARM(printtimings, "h");
  3552 +module_param(printtimings, short, NULL, 0);
3553 3553 MODULE_PARM_DESC(printtimings, "print the memory timings of the card(s)");
3554   -MODULE_PARM(forcesize, PM3_MAX_BOARD_MODULE_ARRAY_SHORT);
  3554 +module_param(forcesize, short, NULL, 0);
3555 3555 MODULE_PARM_DESC(forcesize, "force specified memory size");
3556 3556 /*
3557 3557 MODULE_SUPPORTED_DEVICE("Permedia3 PCI boards")
include/linux/module.h
... ... @@ -554,25 +554,6 @@
554 554  
555 555 /* BELOW HERE ALL THESE ARE OBSOLETE AND WILL VANISH */
556 556  
557   -struct obsolete_modparm {
558   - char name[64];
559   - char type[64-sizeof(void *)];
560   - void *addr;
561   -};
562   -
563   -static inline void MODULE_PARM_(void) { }
564   -#ifdef MODULE
565   -/* DEPRECATED: Do not use. */
566   -#define MODULE_PARM(var,type) \
567   -extern struct obsolete_modparm __parm_##var \
568   -__attribute__((section("__obsparm"))); \
569   -struct obsolete_modparm __parm_##var = \
570   -{ __stringify(var), type, &MODULE_PARM_ }; \
571   -__MODULE_PARM_TYPE(var, type);
572   -#else
573   -#define MODULE_PARM(var,type) static void __attribute__((__unused__)) *__parm_##var = &MODULE_PARM_;
574   -#endif
575   -
576 557 #define __MODULE_STRING(x) __stringify(x)
577 558  
578 559 /* Use symbol_get and symbol_put instead. You'll thank me. */
include/video/pm3fb.h
... ... @@ -1128,10 +1128,7 @@
1128 1128 #endif
1129 1129  
1130 1130 /* max number of simultaneous board */
1131   -/* warning : make sure module array def's are coherent with PM3_MAX_BOARD */
1132 1131 #define PM3_MAX_BOARD 4
1133   -#define PM3_MAX_BOARD_MODULE_ARRAY_SHORT "1-4h"
1134   -#define PM3_MAX_BOARD_MODULE_ARRAY_STRING "1-4s"
1135 1132  
1136 1133 /* max size of options */
1137 1134 #define PM3_OPTIONS_SIZE 256
... ... @@ -470,15 +470,6 @@
470 470 rmmod). This is mainly for kernel developers and desperate users.
471 471 If unsure, say N.
472 472  
473   -config OBSOLETE_MODPARM
474   - bool
475   - default y
476   - depends on MODULES
477   - help
478   - You need this option to use module parameters on modules which
479   - have not been converted to the new module parameter system yet.
480   - If unsure, say Y.
481   -
482 473 config MODVERSIONS
483 474 bool "Module versioning support"
484 475 depends on MODULES
... ... @@ -233,24 +233,6 @@
233 233 return 0;
234 234 }
235 235  
236   -/* Find a symbol in this elf symbol table */
237   -static unsigned long find_local_symbol(Elf_Shdr *sechdrs,
238   - unsigned int symindex,
239   - const char *strtab,
240   - const char *name)
241   -{
242   - unsigned int i;
243   - Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr;
244   -
245   - /* Search (defined) internal symbols first. */
246   - for (i = 1; i < sechdrs[symindex].sh_size/sizeof(*sym); i++) {
247   - if (sym[i].st_shndx != SHN_UNDEF
248   - && strcmp(name, strtab + sym[i].st_name) == 0)
249   - return sym[i].st_value;
250   - }
251   - return 0;
252   -}
253   -
254 236 /* Search for module by name: must hold module_mutex. */
255 237 static struct module *find_module(const char *name)
256 238 {
... ... @@ -785,139 +767,6 @@
785 767 NULL,
786 768 };
787 769  
788   -#ifdef CONFIG_OBSOLETE_MODPARM
789   -/* Bounds checking done below */
790   -static int obsparm_copy_string(const char *val, struct kernel_param *kp)
791   -{
792   - strcpy(kp->arg, val);
793   - return 0;
794   -}
795   -
796   -static int set_obsolete(const char *val, struct kernel_param *kp)
797   -{
798   - unsigned int min, max;
799   - unsigned int size, maxsize;
800   - int dummy;
801   - char *endp;
802   - const char *p;
803   - struct obsolete_modparm *obsparm = kp->arg;
804   -
805   - if (!val) {
806   - printk(KERN_ERR "Parameter %s needs an argument\n", kp->name);
807   - return -EINVAL;
808   - }
809   -
810   - /* type is: [min[-max]]{b,h,i,l,s} */
811   - p = obsparm->type;
812   - min = simple_strtol(p, &endp, 10);
813   - if (endp == obsparm->type)
814   - min = max = 1;
815   - else if (*endp == '-') {
816   - p = endp+1;
817   - max = simple_strtol(p, &endp, 10);
818   - } else
819   - max = min;
820   - switch (*endp) {
821   - case 'b':
822   - return param_array(kp->name, val, min, max, obsparm->addr,
823   - 1, param_set_byte, &dummy);
824   - case 'h':
825   - return param_array(kp->name, val, min, max, obsparm->addr,
826   - sizeof(short), param_set_short, &dummy);
827   - case 'i':
828   - return param_array(kp->name, val, min, max, obsparm->addr,
829   - sizeof(int), param_set_int, &dummy);
830   - case 'l':
831   - return param_array(kp->name, val, min, max, obsparm->addr,
832   - sizeof(long), param_set_long, &dummy);
833   - case 's':
834   - return param_array(kp->name, val, min, max, obsparm->addr,
835   - sizeof(char *), param_set_charp, &dummy);
836   -
837   - case 'c':
838   - /* Undocumented: 1-5c50 means 1-5 strings of up to 49 chars,
839   - and the decl is "char xxx[5][50];" */
840   - p = endp+1;
841   - maxsize = simple_strtol(p, &endp, 10);
842   - /* We check lengths here (yes, this is a hack). */
843   - p = val;
844   - while (p[size = strcspn(p, ",")]) {
845   - if (size >= maxsize)
846   - goto oversize;
847   - p += size+1;
848   - }
849   - if (size >= maxsize)
850   - goto oversize;
851   - return param_array(kp->name, val, min, max, obsparm->addr,
852   - maxsize, obsparm_copy_string, &dummy);
853   - }
854   - printk(KERN_ERR "Unknown obsolete parameter type %s\n", obsparm->type);
855   - return -EINVAL;
856   - oversize:
857   - printk(KERN_ERR
858   - "Parameter %s doesn't fit in %u chars.\n", kp->name, maxsize);
859   - return -EINVAL;
860   -}
861   -
862   -static int obsolete_params(const char *name,
863   - char *args,
864   - struct obsolete_modparm obsparm[],
865   - unsigned int num,
866   - Elf_Shdr *sechdrs,
867   - unsigned int symindex,
868   - const char *strtab)
869   -{
870   - struct kernel_param *kp;
871   - unsigned int i;
872   - int ret;
873   -
874   - kp = kmalloc(sizeof(kp[0]) * num, GFP_KERNEL);
875   - if (!kp)
876   - return -ENOMEM;
877   -
878   - for (i = 0; i < num; i++) {
879   - char sym_name[128 + sizeof(MODULE_SYMBOL_PREFIX)];
880   -
881   - snprintf(sym_name, sizeof(sym_name), "%s%s",
882   - MODULE_SYMBOL_PREFIX, obsparm[i].name);
883   -
884   - kp[i].name = obsparm[i].name;
885   - kp[i].perm = 000;
886   - kp[i].set = set_obsolete;
887   - kp[i].get = NULL;
888   - obsparm[i].addr
889   - = (void *)find_local_symbol(sechdrs, symindex, strtab,
890   - sym_name);
891   - if (!obsparm[i].addr) {
892   - printk("%s: falsely claims to have parameter %s\n",
893   - name, obsparm[i].name);
894   - ret = -EINVAL;
895   - goto out;
896   - }
897   - kp[i].arg = &obsparm[i];
898   - }
899   -
900   - ret = parse_args(name, args, kp, num, NULL);
901   - out:
902   - kfree(kp);
903   - return ret;
904   -}
905   -#else
906   -static int obsolete_params(const char *name,
907   - char *args,
908   - struct obsolete_modparm obsparm[],
909   - unsigned int num,
910   - Elf_Shdr *sechdrs,
911   - unsigned int symindex,
912   - const char *strtab)
913   -{
914   - if (num != 0)
915   - printk(KERN_WARNING "%s: Ignoring obsolete parameters\n",
916   - name);
917   - return 0;
918   -}
919   -#endif /* CONFIG_OBSOLETE_MODPARM */
920   -
921 770 static const char vermagic[] = VERMAGIC_STRING;
922 771  
923 772 #ifdef CONFIG_MODVERSIONS
... ... @@ -1874,27 +1723,17 @@
1874 1723 set_fs(old_fs);
1875 1724  
1876 1725 mod->args = args;
1877   - if (obsparmindex) {
1878   - err = obsolete_params(mod->name, mod->args,
1879   - (struct obsolete_modparm *)
1880   - sechdrs[obsparmindex].sh_addr,
1881   - sechdrs[obsparmindex].sh_size
1882   - / sizeof(struct obsolete_modparm),
1883   - sechdrs, symindex,
1884   - (char *)sechdrs[strindex].sh_addr);
1885   - if (setupindex)
1886   - printk(KERN_WARNING "%s: Ignoring new-style "
1887   - "parameters in presence of obsolete ones\n",
1888   - mod->name);
1889   - } else {
1890   - /* Size of section 0 is 0, so this works well if no params */
1891   - err = parse_args(mod->name, mod->args,
1892   - (struct kernel_param *)
1893   - sechdrs[setupindex].sh_addr,
1894   - sechdrs[setupindex].sh_size
1895   - / sizeof(struct kernel_param),
1896   - NULL);
1897   - }
  1726 + if (obsparmindex)
  1727 + printk(KERN_WARNING "%s: Ignoring obsolete parameters\n",
  1728 + mod->name);
  1729 +
  1730 + /* Size of section 0 is 0, so this works well if no params */
  1731 + err = parse_args(mod->name, mod->args,
  1732 + (struct kernel_param *)
  1733 + sechdrs[setupindex].sh_addr,
  1734 + sechdrs[setupindex].sh_size
  1735 + / sizeof(struct kernel_param),
  1736 + NULL);
1898 1737 if (err < 0)
1899 1738 goto arch_cleanup;
1900 1739  
... ... @@ -54,15 +54,15 @@
54 54 static int test_no_idle_hz; /* Test RCU's support for tickless idle CPUs. */
55 55 static int shuffle_interval = 5; /* Interval between shuffles (in sec)*/
56 56  
57   -MODULE_PARM(nreaders, "i");
  57 +module_param(nreaders, int, 0);
58 58 MODULE_PARM_DESC(nreaders, "Number of RCU reader threads");
59   -MODULE_PARM(stat_interval, "i");
  59 +module_param(stat_interval, int, 0);
60 60 MODULE_PARM_DESC(stat_interval, "Number of seconds between stats printk()s");
61   -MODULE_PARM(verbose, "i");
  61 +module_param(verbose, bool, 0);
62 62 MODULE_PARM_DESC(verbose, "Enable verbose debugging printk()s");
63   -MODULE_PARM(test_no_idle_hz, "i");
  63 +module_param(test_no_idle_hz, bool, 0);
64 64 MODULE_PARM_DESC(test_no_idle_hz, "Test support for tickless idle CPUs");
65   -MODULE_PARM(shuffle_interval, "i");
  65 +module_param(shuffle_interval, int, 0);
66 66 MODULE_PARM_DESC(shuffle_interval, "Number of seconds between shuffles");
67 67 #define TORTURE_FLAG "rcutorture: "
68 68 #define PRINTK_STRING(s) \
... ... @@ -100,7 +100,7 @@
100 100  
101 101 /* Boot options */
102 102 static int vra = 0; // 0 = no VRA, 1 = use VRA if codec supports it
103   -MODULE_PARM(vra, "i");
  103 +module_param(vra, bool, 0);
104 104 MODULE_PARM_DESC(vra, "if 1 use VRA if codec supports it");
105 105  
106 106  
sound/oss/au1550_ac97.c
... ... @@ -79,7 +79,7 @@
79 79 * 0 = no VRA, 1 = use VRA if codec supports it
80 80 */
81 81 static int vra = 1;
82   -MODULE_PARM(vra, "i");
  82 +module_param(vra, bool, 0);
83 83 MODULE_PARM_DESC(vra, "if 1 use VRA if codec supports it");
84 84  
85 85 static struct au1550_state {
sound/oss/dmasound/dmasound_core.c
... ... @@ -195,18 +195,18 @@
195 195 */
196 196  
197 197 int dmasound_catchRadius = 0;
198   -MODULE_PARM(dmasound_catchRadius, "i");
  198 +module_param(dmasound_catchRadius, int, 0);
199 199  
200 200 static unsigned int numWriteBufs = DEFAULT_N_BUFFERS;
201   -MODULE_PARM(numWriteBufs, "i");
  201 +module_param(numWriteBufs, int, 0);
202 202 static unsigned int writeBufSize = DEFAULT_BUFF_SIZE ; /* in bytes */
203   -MODULE_PARM(writeBufSize, "i");
  203 +module_param(writeBufSize, int, 0);
204 204  
205 205 #ifdef HAS_RECORD
206 206 static unsigned int numReadBufs = DEFAULT_N_BUFFERS;
207   -MODULE_PARM(numReadBufs, "i");
  207 +module_param(numReadBufs, int, 0);
208 208 static unsigned int readBufSize = DEFAULT_BUFF_SIZE; /* in bytes */
209   -MODULE_PARM(readBufSize, "i");
  209 +module_param(readBufSize, int, 0);
210 210 #endif
211 211  
212 212 MODULE_LICENSE("GPL");
... ... @@ -1968,9 +1968,9 @@
1968 1968  
1969 1969 static unsigned int devindex;
1970 1970  
1971   -MODULE_PARM(spdif, "1-" __MODULE_STRING(NR_DEVICE) "i");
  1971 +module_param_array(spdif, int, NULL, 0);
1972 1972 MODULE_PARM_DESC(spdif, "if 1 the S/PDIF digital output is enabled");
1973   -MODULE_PARM(i2s_fmt, "1-" __MODULE_STRING(NR_DEVICE) "i");
  1973 +module_param_array(i2s_fmt, int, NULL, 0);
1974 1974 MODULE_PARM_DESC(i2s_fmt, "the format of I2S");
1975 1975  
1976 1976 MODULE_AUTHOR("Monta Vista Software, stevel@mvista.com");
sound/oss/swarm_cs4297a.c
... ... @@ -154,8 +154,8 @@
154 154 #if CSDEBUG
155 155 static unsigned long cs_debuglevel = 4; // levels range from 1-9
156 156 static unsigned long cs_debugmask = CS_INIT /*| CS_IOCTL*/;
157   -MODULE_PARM(cs_debuglevel, "i");
158   -MODULE_PARM(cs_debugmask, "i");
  157 +module_param(cs_debuglevel, int, 0);
  158 +module_param(cs_debugmask, int, 0);
159 159 #endif
160 160 #define CS_TRUE 1
161 161 #define CS_FALSE 0
sound/oss/waveartist.c
... ... @@ -2028,9 +2028,9 @@
2028 2028 #endif
2029 2029  
2030 2030 MODULE_DESCRIPTION("Rockwell WaveArtist RWA-010 sound driver");
2031   -MODULE_PARM(io, "i"); /* IO base */
2032   -MODULE_PARM(irq, "i"); /* IRQ */
2033   -MODULE_PARM(dma, "i"); /* DMA */
2034   -MODULE_PARM(dma2, "i"); /* DMA2 */
  2031 +module_param(io, int, 0); /* IO base */
  2032 +module_param(irq, int, 0); /* IRQ */
  2033 +module_param(dma, int, 0); /* DMA */
  2034 +module_param(dma2, int, 0); /* DMA2 */
2035 2035 MODULE_LICENSE("GPL");