Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Rusty Russell and committed by
Linus Torvalds
8d3b33f6 c721bcce

+146 -329
+1 -1
Documentation/networking/ray_cs.txt
··· 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:
+1 -1
Documentation/sound/oss/Introduction
··· 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
+8 -8
Documentation/sound/oss/cs46xx
··· 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. ··· 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 ··· 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,
+5 -5
arch/ppc/8xx_io/cs4218_tdm.c
··· 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))
+2 -2
drivers/block/ataflop.c
··· 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 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;
+4 -4
drivers/cdrom/cm206.c
··· 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 */
+8 -2
drivers/cdrom/sbpcd.c
··· 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 ··· 558 553 static char msgbuf[80]; 559 554 560 555 static int max_drives = MAX_DRIVES; 556 + module_param(max_drives, int, 0); 561 557 #ifndef MODULE 562 558 static unsigned char setup_done; 563 559 static const char *str_sb_l = "soundblaster";
+4 -4
drivers/char/istallion.c
··· 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
+4 -4
drivers/char/mxser.c
··· 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 {
+4 -4
drivers/char/riscom8.c
··· 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 */
+1 -1
drivers/isdn/hardware/avm/b1dma.c
··· 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
+2 -2
drivers/isdn/hardware/avm/b1isa.c
··· 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
+1 -1
drivers/isdn/hardware/avm/c4.c
··· 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
+3 -3
drivers/isdn/hardware/avm/t1isa.c
··· 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)");
+1 -1
drivers/isdn/hysdn/hycapi.c
··· 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;
+1 -1
drivers/isdn/hysdn/hysdn_net.c
··· 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 $";
+1 -1
drivers/isdn/isdnloop/isdnloop.c
··· 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 *);
+4 -4
drivers/media/video/zr36120.c
··· 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];
+1 -1
drivers/mmc/au1xmmc.c
··· 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
+7 -7
drivers/mtd/maps/pcmciamtd.c
··· 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...) \ ··· 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
+1 -1
drivers/net/atari_bionet.c
··· 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
+1 -1
drivers/net/atari_pamsnet.c
··· 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
+1 -1
drivers/net/atarilance.c
··· 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
+6 -5
drivers/net/cassini.c
··· 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 /* ··· 212 209 * Value in seconds, for user input. 213 210 */ 214 211 static int linkdown_timeout = DEFAULT_LINKDOWN_TIMEOUT; 215 - MODULE_PARM(linkdown_timeout, "i"); 212 + module_param(linkdown_timeout, int, 0); 216 213 MODULE_PARM_DESC(linkdown_timeout, 217 214 "min reset interval in sec. for PCS linkdown issue; disabled if not positive"); 218 215 ··· 224 221 static int link_transition_timeout; 225 222 226 223 227 - static int cassini_debug = -1; /* -1 == use CAS_DEF_MSG_ENABLE as value */ 228 - static int link_mode; 229 224 230 225 static u16 link_modes[] __devinitdata = { 231 226 BMCR_ANENABLE, /* 0 : autoneg */
+1 -1
drivers/net/chelsio/cxgb2.c
··· 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
+2 -2
drivers/net/fec_8xx/fec_main.c
··· 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
+2 -2
drivers/net/fs_enet/fs_enet-main.c
··· 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 {
+2 -2
drivers/net/gt96100eth.c
··· 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
+1 -1
drivers/net/hamradio/dmascc.c
··· 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)
+1 -1
drivers/net/hamradio/mkiss.c
··· 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);
+2 -2
drivers/net/irda/irport.c
··· 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>");
+3 -3
drivers/net/lasi_82596.c
··· 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 ··· 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];
+1 -1
drivers/net/mac89x0.c
··· 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
+1 -1
drivers/net/mace.c
··· 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
+1 -1
drivers/net/meth.c
··· 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 /*
+3 -3
drivers/net/ne-h8300.c
··· 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");
+2 -2
drivers/net/ni5010.c
··· 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
+1 -1
drivers/net/sun3lance.c
··· 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
-1
drivers/s390/block/dasd.c
··· 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 /*
+3
drivers/s390/block/dasd_devmap.c
··· 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> ··· 70 69 * strings when running as a module. 71 70 */ 72 71 static char *dasd[256]; 72 + module_param_array(dasd, charp, NULL, 0); 73 + 73 74 /* 74 75 * Single spinlock to protect devmap structures and lists. 75 76 */
+1 -1
drivers/scsi/arm/cumana_2.c
··· 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");
+1 -1
drivers/scsi/arm/eesox.c
··· 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");
+1 -1
drivers/scsi/arm/powertec.c
··· 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");
+5 -5
drivers/scsi/atari_scsi.c
··· 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)
+9 -9
drivers/video/pm3fb.c
··· 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")
-19
include/linux/module.h
··· 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. */
-3
include/video/pm3fb.h
··· 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
-9
init/Kconfig
··· 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
+11 -172
kernel/module.c
··· 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 { ··· 766 784 #endif 767 785 NULL, 768 786 }; 769 - 770 - #ifdef CONFIG_OBSOLETE_MODPARM 771 - /* Bounds checking done below */ 772 - static int obsparm_copy_string(const char *val, struct kernel_param *kp) 773 - { 774 - strcpy(kp->arg, val); 775 - return 0; 776 - } 777 - 778 - static int set_obsolete(const char *val, struct kernel_param *kp) 779 - { 780 - unsigned int min, max; 781 - unsigned int size, maxsize; 782 - int dummy; 783 - char *endp; 784 - const char *p; 785 - struct obsolete_modparm *obsparm = kp->arg; 786 - 787 - if (!val) { 788 - printk(KERN_ERR "Parameter %s needs an argument\n", kp->name); 789 - return -EINVAL; 790 - } 791 - 792 - /* type is: [min[-max]]{b,h,i,l,s} */ 793 - p = obsparm->type; 794 - min = simple_strtol(p, &endp, 10); 795 - if (endp == obsparm->type) 796 - min = max = 1; 797 - else if (*endp == '-') { 798 - p = endp+1; 799 - max = simple_strtol(p, &endp, 10); 800 - } else 801 - max = min; 802 - switch (*endp) { 803 - case 'b': 804 - return param_array(kp->name, val, min, max, obsparm->addr, 805 - 1, param_set_byte, &dummy); 806 - case 'h': 807 - return param_array(kp->name, val, min, max, obsparm->addr, 808 - sizeof(short), param_set_short, &dummy); 809 - case 'i': 810 - return param_array(kp->name, val, min, max, obsparm->addr, 811 - sizeof(int), param_set_int, &dummy); 812 - case 'l': 813 - return param_array(kp->name, val, min, max, obsparm->addr, 814 - sizeof(long), param_set_long, &dummy); 815 - case 's': 816 - return param_array(kp->name, val, min, max, obsparm->addr, 817 - sizeof(char *), param_set_charp, &dummy); 818 - 819 - case 'c': 820 - /* Undocumented: 1-5c50 means 1-5 strings of up to 49 chars, 821 - and the decl is "char xxx[5][50];" */ 822 - p = endp+1; 823 - maxsize = simple_strtol(p, &endp, 10); 824 - /* We check lengths here (yes, this is a hack). */ 825 - p = val; 826 - while (p[size = strcspn(p, ",")]) { 827 - if (size >= maxsize) 828 - goto oversize; 829 - p += size+1; 830 - } 831 - if (size >= maxsize) 832 - goto oversize; 833 - return param_array(kp->name, val, min, max, obsparm->addr, 834 - maxsize, obsparm_copy_string, &dummy); 835 - } 836 - printk(KERN_ERR "Unknown obsolete parameter type %s\n", obsparm->type); 837 - return -EINVAL; 838 - oversize: 839 - printk(KERN_ERR 840 - "Parameter %s doesn't fit in %u chars.\n", kp->name, maxsize); 841 - return -EINVAL; 842 - } 843 - 844 - static int obsolete_params(const char *name, 845 - char *args, 846 - struct obsolete_modparm obsparm[], 847 - unsigned int num, 848 - Elf_Shdr *sechdrs, 849 - unsigned int symindex, 850 - const char *strtab) 851 - { 852 - struct kernel_param *kp; 853 - unsigned int i; 854 - int ret; 855 - 856 - kp = kmalloc(sizeof(kp[0]) * num, GFP_KERNEL); 857 - if (!kp) 858 - return -ENOMEM; 859 - 860 - for (i = 0; i < num; i++) { 861 - char sym_name[128 + sizeof(MODULE_SYMBOL_PREFIX)]; 862 - 863 - snprintf(sym_name, sizeof(sym_name), "%s%s", 864 - MODULE_SYMBOL_PREFIX, obsparm[i].name); 865 - 866 - kp[i].name = obsparm[i].name; 867 - kp[i].perm = 000; 868 - kp[i].set = set_obsolete; 869 - kp[i].get = NULL; 870 - obsparm[i].addr 871 - = (void *)find_local_symbol(sechdrs, symindex, strtab, 872 - sym_name); 873 - if (!obsparm[i].addr) { 874 - printk("%s: falsely claims to have parameter %s\n", 875 - name, obsparm[i].name); 876 - ret = -EINVAL; 877 - goto out; 878 - } 879 - kp[i].arg = &obsparm[i]; 880 - } 881 - 882 - ret = parse_args(name, args, kp, num, NULL); 883 - out: 884 - kfree(kp); 885 - return ret; 886 - } 887 - #else 888 - static int obsolete_params(const char *name, 889 - char *args, 890 - struct obsolete_modparm obsparm[], 891 - unsigned int num, 892 - Elf_Shdr *sechdrs, 893 - unsigned int symindex, 894 - const char *strtab) 895 - { 896 - if (num != 0) 897 - printk(KERN_WARNING "%s: Ignoring obsolete parameters\n", 898 - name); 899 - return 0; 900 - } 901 - #endif /* CONFIG_OBSOLETE_MODPARM */ 902 787 903 788 static const char vermagic[] = VERMAGIC_STRING; 904 789 ··· 1723 1874 set_fs(old_fs); 1724 1875 1725 1876 mod->args = args; 1726 - if (obsparmindex) { 1727 - err = obsolete_params(mod->name, mod->args, 1728 - (struct obsolete_modparm *) 1729 - sechdrs[obsparmindex].sh_addr, 1730 - sechdrs[obsparmindex].sh_size 1731 - / sizeof(struct obsolete_modparm), 1732 - sechdrs, symindex, 1733 - (char *)sechdrs[strindex].sh_addr); 1734 - if (setupindex) 1735 - printk(KERN_WARNING "%s: Ignoring new-style " 1736 - "parameters in presence of obsolete ones\n", 1737 - mod->name); 1738 - } else { 1739 - /* Size of section 0 is 0, so this works well if no params */ 1740 - err = parse_args(mod->name, mod->args, 1741 - (struct kernel_param *) 1742 - sechdrs[setupindex].sh_addr, 1743 - sechdrs[setupindex].sh_size 1744 - / sizeof(struct kernel_param), 1745 - NULL); 1746 - } 1877 + if (obsparmindex) 1878 + printk(KERN_WARNING "%s: Ignoring obsolete parameters\n", 1879 + mod->name); 1880 + 1881 + /* Size of section 0 is 0, so this works well if no params */ 1882 + err = parse_args(mod->name, mod->args, 1883 + (struct kernel_param *) 1884 + sechdrs[setupindex].sh_addr, 1885 + sechdrs[setupindex].sh_size 1886 + / sizeof(struct kernel_param), 1887 + NULL); 1747 1888 if (err < 0) 1748 1889 goto arch_cleanup; 1749 1890
+5 -5
kernel/rcutorture.c
··· 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) \
+1 -1
sound/oss/au1000.c
··· 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
+1 -1
sound/oss/au1550_ac97.c
··· 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 {
+5 -5
sound/oss/dmasound/dmasound_core.c
··· 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");
+2 -2
sound/oss/ite8172.c
··· 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");
+2 -2
sound/oss/swarm_cs4297a.c
··· 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
+4 -4
sound/oss/waveartist.c
··· 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");