From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Sperling Date: Mon, 08 Nov 2004 22:31:11 +0000 Subject: [KJ] [PATCH] convert wireless drivers to module_param* Message-Id: <20041108223111.GA28857@dice.seeling33.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: kernel-janitors@vger.kernel.org Replaces MODULE_PARM with module_param calls in all wireless drivers. Note that this patch skips prism54 because it has been converted already. Also note that this patch does _not_ fix the numerous casting warnings generated by a few drivers (e.g. orinoco and hermes). Most of these warning= s look like: drivers/net/wireless/hermes.c:379: warning: passing arg 1 of `readw' makes = pointer from integer without a cast There are quite a few writeable sysfs entries. Though I was careful, and di= d not 0644 things like IRQs, I may have made some silly mistake somewhere, who knows. Please review the permissions carefully. I also reordered arlan module parameter declarations a little to improve re= adability. All debug related parameter stuff is now declared in one block, rather than= all over the place. Some debug related module parameters even used to be declared outside DEBUG= #ifdefs. Generally, the arlan debug code is still broken, though. It currently does = not compile, and this patch does not make it compile. In wavelan.c, use strlcpy instead of memcpy to copy the interface name para= meter. Keep in mind that this is my very first go on the kernel... That is, there is a 99% chance that I made a big mistake somewhere ;-) diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/airo= .c linux-2.6.10-rc1-bk16/drivers/net/wireless/airo.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/airo.c 2004-11-07 02:27= :12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/airo.c 2004-11-08 23:09:27.6= 01506096 +0100 @@ -246,36 +246,36 @@ MODULE_DESCRIPTION("Support for Cisco/Ai for PCMCIA when used with airo_cs."); MODULE_LICENSE("Dual BSD/GPL"); MODULE_SUPPORTED_DEVICE("Aironet 4500, 4800 and Cisco 340/350"); -MODULE_PARM(io,"1-4i"); -MODULE_PARM(irq,"1-4i"); -MODULE_PARM(basic_rate,"i"); -MODULE_PARM(rates,"1-8i"); -MODULE_PARM(ssids,"1-3s"); -MODULE_PARM(auto_wep,"i"); +module_param_array(io, int, NULL, 0444); +module_param_array(irq, int, NULL, 0444); +module_param(basic_rate, int, 0644); +module_param_array(rates, int, NULL, 0644); +module_param_array(ssids, int, NULL, 0644); +module_param(auto_wep, int, 0644); MODULE_PARM_DESC(auto_wep, "If non-zero, the driver will keep looping thro= ugh \ the authentication options until an association is made. The value of \ auto_wep is number of the wep keys to check. A value of 2 will try using \ the key at index 0 and index 1."); -MODULE_PARM(aux_bap,"i"); +module_param(aux_bap, int, 0644); MODULE_PARM_DESC(aux_bap, "If non-zero, the driver will switch into a mode= \ than seems to work better for older cards with some older buses. Before \ switching it checks that the switch is needed."); -MODULE_PARM(maxencrypt, "i"); +module_param(maxencrypt, int, 0644); MODULE_PARM_DESC(maxencrypt, "The maximum speed that the card can do \ encryption. Units are in 512kbs. Zero (default) means there is no limit.= \ Older cards used to be limited to 2mbs (4)."); -MODULE_PARM(adhoc, "i"); +module_param(adhoc, int, 0644); MODULE_PARM_DESC(adhoc, "If non-zero, the card will start in adhoc mode."); -MODULE_PARM(probe, "i"); +module_param(probe, int, 0644); MODULE_PARM_DESC(probe, "If zero, the driver won't start the card."); =20 -MODULE_PARM(proc_uid, "i"); +module_param(proc_uid, int, 0644); MODULE_PARM_DESC(proc_uid, "The uid that the /proc files will belong to."); -MODULE_PARM(proc_gid, "i"); +module_param(proc_gid, int, 0644); MODULE_PARM_DESC(proc_gid, "The gid that the /proc files will belong to."); -MODULE_PARM(airo_perm, "i"); +module_param(airo_perm, int, 0644); MODULE_PARM_DESC(airo_perm, "The permission bits of /proc/[driver/]aironet= ."); -MODULE_PARM(proc_perm, "i"); +module_param(proc_perm, int, 0644); MODULE_PARM_DESC(proc_perm, "The permission bits of the files in /proc"); =20 /* This is a kind of sloppy hack to get this information to OUT4500 and diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/airo= _cs.c linux-2.6.10-rc1-bk16/drivers/net/wireless/airo_cs.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/airo_cs.c 2004-11-07 02= :27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/airo_cs.c 2004-11-08 23:09:4= 8.814281264 +0100 @@ -52,7 +52,7 @@ */ #ifdef PCMCIA_DEBUG static int pc_debug =3D PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +module_param(pc_debug, int, 0644); static char *version =3D "$Revision: 1.2 $"; #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args); #else @@ -75,8 +75,8 @@ MODULE_DESCRIPTION("Support for Cisco/Ai with the airo module."); MODULE_LICENSE("Dual BSD/GPL"); MODULE_SUPPORTED_DEVICE("Aironet 4500, 4800 and Cisco 340 PCMCIA cards"); -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); +module_param(irq_mask, int, 0644); +module_param_array(irq_list, int, NULL, 0444); =20 /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ =20 diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/arla= n-main.c linux-2.6.10-rc1-bk16/drivers/net/wireless/arlan-main.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/arlan-main.c 2004-11-07= 02:27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/arlan-main.c 2004-11-08 22:2= 8:43.563056416 +0100 @@ -31,52 +31,46 @@ static int retries =3D 5; static int tx_queue_len =3D 1; static int arlan_EEPROM_bad; =20 -#ifdef ARLAN_DEBUGGING +module_param(arlan_debug, bool, 0644); +module_param(spreadingCode, int, 0644); +module_param(channelNumber, int, 0644); +module_param(channelSet, int, 0644); +module_param(systemId, int, 0644); +module_param(registrationMode, int, 0644); +module_param(radioNodeId, int, 0644); +module_param(SID, int, 0644); +module_param(keyStart, int, 0644); +module_param(tx_delay_ms, int, 0644); +module_param(retries, int, 0644); +module_param(tx_queue_len, int, 0644); +module_param(arlan_EEPROM_bad, bool, 0644); +MODULE_PARM_DESC(arlan_debug, "Arlan debug enable (0-1)"); +MODULE_PARM_DESC(retries, "Arlan maximum packet retransmisions"); =20 -static int arlan_entry_debug; -static int arlan_exit_debug; +#ifdef ARLAN_DEBUGGING static int testMemory =3D testMemoryUNKNOWN; static int irq =3D irqUNKNOWN; static int txScrambled =3D 1; static int mdebug; -#endif - -MODULE_PARM(irq, "i"); -MODULE_PARM(mem, "i"); -MODULE_PARM(arlan_debug, "i"); -MODULE_PARM(testMemory, "i"); -MODULE_PARM(spreadingCode, "i"); -MODULE_PARM(channelNumber, "i"); -MODULE_PARM(channelSet, "i"); -MODULE_PARM(systemId, "i"); -MODULE_PARM(registrationMode, "i"); -MODULE_PARM(radioNodeId, "i"); -MODULE_PARM(SID, "i"); -MODULE_PARM(txScrambled, "i"); -MODULE_PARM(keyStart, "i"); -MODULE_PARM(mdebug, "i"); -MODULE_PARM(tx_delay_ms, "i"); -MODULE_PARM(retries, "i"); -MODULE_PARM(async, "i"); -MODULE_PARM(tx_queue_len, "i"); -MODULE_PARM(arlan_entry_debug, "i"); -MODULE_PARM(arlan_exit_debug, "i"); -MODULE_PARM(arlan_entry_and_exit_debug, "i"); -MODULE_PARM(arlan_EEPROM_bad, "i"); -MODULE_PARM_DESC(irq, "(unused)"); -MODULE_PARM_DESC(mem, "Arlan memory address for single device probing"); -MODULE_PARM_DESC(arlan_debug, "Arlan debug enable (0-1)"); +module_param(testMemory, bool, 0644); MODULE_PARM_DESC(testMemory, "(unused)"); +module_param(irq, int, 0444); +MODULE_PARM_DESC(irq, "(unused)"); +module_param(txScrambled, bool, 0644); +module_param(mdebug, bool, 0644); MODULE_PARM_DESC(mdebug, "Arlan multicast debugging (0-1)"); -MODULE_PARM_DESC(retries, "Arlan maximum packet retransmisions"); +#endif + #ifdef ARLAN_ENTRY_EXIT_DEBUGGING +static int arlan_entry_debug; +static int arlan_exit_debug; +static int arlan_entry_and_exit_debug; +module_param(arlan_entry_debug, bool, 0644); +module_param(arlan_exit_debug, bool, 0644); +module_param(arlan_entry_and_exit_debug, bool, 0644); MODULE_PARM_DESC(arlan_entry_debug, "Arlan driver function entry debugging= "); MODULE_PARM_DESC(arlan_exit_debug, "Arlan driver function exit debugging"); MODULE_PARM_DESC(arlan_entry_and_exit_debug, "Arlan driver function entry = and exit debugging"); -#else -MODULE_PARM_DESC(arlan_entry_debug, "(ignored)"); -MODULE_PARM_DESC(arlan_exit_debug, "(ignored)"); -MODULE_PARM_DESC(arlan_entry_and_exit_debug, "(ignored)"); #endif =20 struct arlan_conf_stru arlan_conf[MAX_ARLANS]; diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/atme= l_cs.c linux-2.6.10-rc1-bk16/drivers/net/wireless/atmel_cs.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/atmel_cs.c 2004-11-07 0= 2:27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/atmel_cs.c 2004-11-08 23:10:= 14.586363312 +0100 @@ -65,7 +65,7 @@ */ #ifdef PCMCIA_DEBUG static int pc_debug =3D PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +module_param(pc_debug, int, 0644); static char *version =3D "$Revision: 1.2 $"; #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args); #else @@ -86,8 +86,8 @@ MODULE_AUTHOR("Simon Kelley"); MODULE_DESCRIPTION("Support for Atmel at76c50x 802.11 wireless ethernet ca= rds."); MODULE_LICENSE("GPL"); MODULE_SUPPORTED_DEVICE("Atmel at76c50x PCMCIA cards"); -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); +module_param(irq_mask, int, 0444); +module_param_array(irq_list, int, NULL, 0444); =20 /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ =20 diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/netw= ave_cs.c linux-2.6.10-rc1-bk16/drivers/net/wireless/netwave_cs.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/netwave_cs.c 2004-11-07= 02:27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/netwave_cs.c 2004-11-08 23:0= 8:32.080946504 +0100 @@ -161,7 +161,7 @@ static const unsigned int txConfLoop =20 #ifdef PCMCIA_DEBUG static int pc_debug =3D PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +module_param(pc_debug, int, 0644); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) static char *version "netwave_cs.c 0.3.0 Thu Jul 17 14:36:02 1997 (John M= arkus Bj=F8rndalen)\n"; @@ -195,11 +195,11 @@ static int mem_speed; static u_int irq_mask =3D 0xdeb8; static int irq_list[4] =3D { -1 }; =20 -MODULE_PARM(domain, "i"); -MODULE_PARM(scramble_key, "i"); -MODULE_PARM(mem_speed, "i"); -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); +module_param(domain, uint, 0644); +module_param(scramble_key, uint, 0644); +module_param(mem_speed, int, 0444); +module_param(irq_mask, uint, 0444); +module_param_array(irq_list, int, NULL, 0444); =20 /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/ =20 diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/orin= oco.c linux-2.6.10-rc1-bk16/drivers/net/wireless/orinoco.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/orinoco.c 2004-11-07 02= :27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/orinoco.c 2004-11-08 21:01:0= 0.595149152 +0100 @@ -461,12 +461,12 @@ MODULE_LICENSE("Dual MPL/GPL"); /* Level of debugging. Used in the macros in orinoco.h */ #ifdef ORINOCO_DEBUG int orinoco_debug =3D ORINOCO_DEBUG; -MODULE_PARM(orinoco_debug, "i"); +module_param(orinoco_debug, int, 0644); EXPORT_SYMBOL(orinoco_debug); #endif =20 static int suppress_linkstatus; /* =3D 0 */ -MODULE_PARM(suppress_linkstatus, "i"); +module_param(suppress_linkstatus, bool, 0644); =20 /********************************************************************/ /* Compile time configuration and compatibility stuff */ diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/orin= oco_cs.c linux-2.6.10-rc1-bk16/drivers/net/wireless/orinoco_cs.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/orinoco_cs.c 2004-11-07= 02:27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/orinoco_cs.c 2004-11-08 23:1= 0:34.470340488 +0100 @@ -64,9 +64,9 @@ static int irq_list[4] =3D { -1 }; * don't have any CIS entry for it. This workaround it... */ static int ignore_cis_vcc; /* =3D 0 */ =20 -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); -MODULE_PARM(ignore_cis_vcc, "i"); +module_param(irq_mask, uint, 0444); +module_param_array(irq_list, int, NULL, 0444); +module_param(ignore_cis_vcc, bool, 0644); =20 /********************************************************************/ /* Magic constants */ diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/ray_= cs.c linux-2.6.10-rc1-bk16/drivers/net/wireless/ray_cs.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/ray_cs.c 2004-11-07 02:= 27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/ray_cs.c 2004-11-08 20:58:55= .144220592 +0100 @@ -84,7 +84,7 @@ typedef u_char mac_addr[ETH_ALEN]; /* Ha #ifdef PCMCIA_DEBUG static int ray_debug; static int pc_debug =3D PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +module_param(pc_debug, bool, 0644); /* #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args); */ #define DEBUG(n, args...) if (pc_debug>(n)) printk(args); #else @@ -226,18 +226,18 @@ MODULE_AUTHOR("Corey Thomas name, name[i], IFNAMSIZ); /* Copy name */ + strlcpy(dev->name, name[i], IFNAMSIZ); /* Copy name */ dev->base_addr =3D io[i]; dev->irq =3D irq[i]; =20 diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/wave= lan_cs.p.h linux-2.6.10-rc1-bk16/drivers/net/wireless/wavelan_cs.p.h --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/wavelan_cs.p.h 2004-11-= 07 02:27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/wavelan_cs.p.h 2004-11-08 23= :11:02.548072024 +0100 @@ -803,14 +803,14 @@ static int irq_list[4] =3D { -1 }; static int mem_speed =3D 0; =20 /* New module interface */ -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); -MODULE_PARM(mem_speed, "i"); +module_param(irq_mask, int, 0444); +module_param_array(irq_list, int, NULL, 0444); +module_param(mem_speed, int, 0444); =20 #ifdef WAVELAN_ROAMING /* Conditional compile, see above in options */ /* Enable roaming mode ? No ! Please keep this to 0 */ static int do_roaming =3D 0; -MODULE_PARM(do_roaming, "i"); +module_param(do_roaming, bool, 0444); #endif /* WAVELAN_ROAMING */ =20 MODULE_LICENSE("GPL"); diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/wave= lan.p.h linux-2.6.10-rc1-bk16/drivers/net/wireless/wavelan.p.h --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/wavelan.p.h 2004-11-07 = 02:27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/wavelan.p.h 2004-11-08 23:13= :21.111007256 +0100 @@ -704,12 +704,12 @@ static unsigned short iobase[] static int io[4]; static int irq[4]; static char name[4][IFNAMSIZ]; -MODULE_PARM(io, "1-4i"); -MODULE_PARM(irq, "1-4i"); -MODULE_PARM(name, "1-4c" __MODULE_STRING(IFNAMSIZ)); +module_param_array(io, int, NULL, 0444); +module_param_array(irq, int, NULL, 0444); +module_param_array(name, charp, NULL, 0444); MODULE_PARM_DESC(io, "WaveLAN I/O base address(es),required"); MODULE_PARM_DESC(irq, "WaveLAN IRQ number(s)"); -MODULE_PARM_DESC(name, "WaveLAN interface neme(s)"); +MODULE_PARM_DESC(name, "WaveLAN interface name(s)"); #endif /* MODULE */ =20 #endif /* WAVELAN_P_H */ diff -uprN -X dontdiff linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/wl35= 01_cs.c linux-2.6.10-rc1-bk16/drivers/net/wireless/wl3501_cs.c --- linux-2.6.10-rc1-bk16.orig/drivers/net/wireless/wl3501_cs.c 2004-11-07 = 02:27:12.000000000 +0100 +++ linux-2.6.10-rc1-bk16/drivers/net/wireless/wl3501_cs.c 2004-11-08 23:11= :48.854032448 +0100 @@ -79,7 +79,7 @@ #define PCMCIA_DEBUG 0 #ifdef PCMCIA_DEBUG static int pc_debug =3D PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +module_param(pc_debug, bool, 0644); #define dprintk(n, format, args...) \ { if (pc_debug > (n)) \ printk(KERN_INFO "%s: " format "\n", __FUNCTION__ , ##args); } @@ -2279,8 +2279,8 @@ static void __exit wl3501_exit_module(vo module_init(wl3501_init_module); module_exit(wl3501_exit_module); =20 -MODULE_PARM(wl3501_irq_mask, "i"); -MODULE_PARM(wl3501_irq_list, "1-4i"); +module_param(wl3501_irq_mask, long, 0444); +module_param_array(wl3501_irq_list, int, NULL, 0444); MODULE_AUTHOR("Fox Chen , " "Arnaldo Carvalho de Melo ," "Gustavo Niemeyer "); _______________________________________________ Kernel-janitors mailing list Kernel-janitors@lists.osdl.org http://lists.osdl.org/mailman/listinfo/kernel-janitors