From: Rusty Russell MODULE_PARM() was marked obsolete. Remove it from everything except drivers/ and arch/. Naturally, such a widespread change may introduce bugs for some of the non-trivial cases, and where in doubt I used "0" as permissions arg (ie. won't appear in sysfs). Individual authors should think about whether that would be useful. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton --- 25-akpm/crypto/tcrypt.c | 3 ++- 25-akpm/fs/afs/main.c | 3 ++- 25-akpm/fs/ntfs/super.c | 3 ++- 25-akpm/net/bridge/netfilter/ebt_vlan.c | 4 ++-- 25-akpm/net/ipv4/netfilter/ip_conntrack_amanda.c | 3 ++- 25-akpm/net/ipv4/netfilter/ip_conntrack_core.c | 6 +++--- 25-akpm/net/ipv4/netfilter/ip_conntrack_ftp.c | 15 ++++++--------- 25-akpm/net/ipv4/netfilter/ip_conntrack_irc.c | 18 +++++++----------- 25-akpm/net/ipv4/netfilter/ip_conntrack_tftp.c | 13 +++++-------- 25-akpm/net/ipv4/netfilter/ip_nat_ftp.c | 13 +++++-------- 25-akpm/net/ipv4/netfilter/ip_nat_irc.c | 14 +++++--------- 25-akpm/net/ipv4/netfilter/ip_nat_snmp_basic.c | 3 ++- 25-akpm/net/ipv4/netfilter/ip_nat_tftp.c | 13 +++++-------- 25-akpm/net/ipv4/netfilter/ipt_LOG.c | 3 ++- 25-akpm/net/ipv4/netfilter/ipt_ULOG.c | 9 +++++---- 25-akpm/net/ipv4/netfilter/ipt_recent.c | 11 ++++++----- 25-akpm/net/ipv4/netfilter/iptable_filter.c | 3 ++- 25-akpm/net/ipv6/netfilter/ip6t_LOG.c | 5 +++-- 25-akpm/net/ipv6/netfilter/ip6table_filter.c | 3 ++- 25-akpm/net/irda/irlan/irlan_common.c | 5 +++-- 25-akpm/net/sched/sch_teql.c | 3 ++- 21 files changed, 73 insertions(+), 80 deletions(-) diff -puN crypto/tcrypt.c~remove-module_parm-from-main-part-of-kernel crypto/tcrypt.c --- 25/crypto/tcrypt.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.802078608 -0700 +++ 25-akpm/crypto/tcrypt.c 2004-08-15 19:40:22.834073744 -0700 @@ -24,6 +24,7 @@ #include #include #include +#include #include "tcrypt.h" /* @@ -846,7 +847,7 @@ static void __exit fini(void) { } module_init(init); module_exit(fini); -MODULE_PARM(mode, "i"); +module_param(mode, int, 0); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Quick & dirty crypto testing module"); diff -puN fs/afs/main.c~remove-module_parm-from-main-part-of-kernel fs/afs/main.c --- 25/fs/afs/main.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.804078304 -0700 +++ 25-akpm/fs/afs/main.c 2004-08-15 19:40:22.835073592 -0700 @@ -10,6 +10,7 @@ */ #include +#include #include #include #include @@ -47,7 +48,7 @@ MODULE_LICENSE("GPL"); static char *rootcell; -MODULE_PARM(rootcell, "s"); +module_param(rootcell, charp, 0); MODULE_PARM_DESC(rootcell, "root AFS cell name and VL server IP addr list"); diff -puN fs/ntfs/super.c~remove-module_parm-from-main-part-of-kernel fs/ntfs/super.c --- 25/fs/ntfs/super.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.806078000 -0700 +++ 25-akpm/fs/ntfs/super.c 2004-08-15 19:40:22.837073288 -0700 @@ -28,6 +28,7 @@ #include #include #include +#include #include "ntfs.h" #include "sysctl.h" @@ -2585,7 +2586,7 @@ MODULE_AUTHOR("Anton Altaparmakov #include -static unsigned char debug; +static int debug; #define MODULE_VERS "0.6" -MODULE_PARM(debug, "0-1b"); +module_param(debug, bool, 0600); MODULE_PARM_DESC(debug, "debug=1 is turn on debug messages"); MODULE_AUTHOR("Nick Fedchik "); MODULE_DESCRIPTION("802.1Q match module (ebtables extension), v" diff -puN net/ipv4/netfilter/ip_conntrack_amanda.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_conntrack_amanda.c --- 25/net/ipv4/netfilter/ip_conntrack_amanda.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.808077696 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_conntrack_amanda.c 2004-08-15 19:40:22.838073136 -0700 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -34,7 +35,7 @@ static unsigned int master_timeout = 300 MODULE_AUTHOR("Brian J. Murrell "); MODULE_DESCRIPTION("Amanda connection tracking module"); MODULE_LICENSE("GPL"); -MODULE_PARM(master_timeout, "i"); +module_param(master_timeout, uint, 0); MODULE_PARM_DESC(master_timeout, "timeout for the master connection"); static char *conns[] = { "DATA ", "MESG ", "INDEX " }; diff -puN net/ipv4/netfilter/ip_conntrack_core.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_conntrack_core.c --- 25/net/ipv4/netfilter/ip_conntrack_core.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.810077392 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_conntrack_core.c 2004-08-15 19:40:22.839072984 -0700 @@ -34,8 +34,8 @@ #include #include #include -/* For ERR_PTR(). Yeah, I know... --RR */ -#include +#include +#include /* This rwlock protects the main hash table, protocol/helper/expected registrations, conntrack timers*/ @@ -1373,7 +1373,7 @@ void ip_conntrack_cleanup(void) } static int hashsize; -MODULE_PARM(hashsize, "i"); +module_param(hashsize, int, 0); int __init ip_conntrack_init(void) { diff -puN net/ipv4/netfilter/ip_conntrack_ftp.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_conntrack_ftp.c --- 25/net/ipv4/netfilter/ip_conntrack_ftp.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.811077240 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_conntrack_ftp.c 2004-08-15 19:40:22.840072832 -0700 @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -31,12 +32,12 @@ DECLARE_LOCK(ip_ftp_lock); struct module *ip_conntrack_ftp = THIS_MODULE; #define MAX_PORTS 8 -static int ports[MAX_PORTS]; -static int ports_c; -MODULE_PARM(ports, "1-" __MODULE_STRING(MAX_PORTS) "i"); +static int ports[MAX_PORTS] = { FTP_PORT }; +static int ports_c = 1; +module_param_array(ports, int, ports_c, 0400); static int loose; -MODULE_PARM(loose, "i"); +module_param(loose, int, 0600); #if 0 #define DEBUGP printk @@ -420,10 +421,7 @@ static int __init init(void) int i, ret; char *tmpname; - if (ports[0] == 0) - ports[0] = FTP_PORT; - - for (i = 0; (i < MAX_PORTS) && ports[i]; i++) { + for (i = 0; i < ports_c; i++) { ftp[i].tuple.src.u.tcp.port = htons(ports[i]); ftp[i].tuple.dst.protonum = IPPROTO_TCP; ftp[i].mask.src.u.tcp.port = 0xFFFF; @@ -449,7 +447,6 @@ static int __init init(void) fini(); return ret; } - ports_c++; } return 0; } diff -puN net/ipv4/netfilter/ip_conntrack_irc.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_conntrack_irc.c --- 25/net/ipv4/netfilter/ip_conntrack_irc.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.813076936 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_conntrack_irc.c 2004-08-15 19:40:22.840072832 -0700 @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -34,8 +35,8 @@ #include #define MAX_PORTS 8 -static int ports[MAX_PORTS]; -static int ports_c; +static int ports[MAX_PORTS] = { IRC_PORT }; +static int ports_c = 1; static int max_dcc_channels = 8; static unsigned int dcc_timeout = 300; /* This is slow, but it's simple. --RR */ @@ -44,11 +45,11 @@ static char irc_buffer[65536]; MODULE_AUTHOR("Harald Welte "); MODULE_DESCRIPTION("IRC (DCC) connection tracking helper"); MODULE_LICENSE("GPL"); -MODULE_PARM(ports, "1-" __MODULE_STRING(MAX_PORTS) "i"); +module_param_array(ports, int, ports_c, 0400); MODULE_PARM_DESC(ports, "port numbers of IRC servers"); -MODULE_PARM(max_dcc_channels, "i"); +module_param(max_dcc_channels, int, 0); MODULE_PARM_DESC(max_dcc_channels, "max number of expected DCC channels per IRC session"); -MODULE_PARM(dcc_timeout, "i"); +module_param(dcc_timeout, uint, 0); MODULE_PARM_DESC(dcc_timeout, "timeout on for unestablished DCC channels"); static char *dccprotos[] = { "SEND ", "CHAT ", "MOVE ", "TSEND ", "SCHAT " }; @@ -251,11 +252,7 @@ static int __init init(void) return -EBUSY; } - /* If no port given, default to standard irc port */ - if (ports[0] == 0) - ports[0] = IRC_PORT; - - for (i = 0; (i < MAX_PORTS) && ports[i]; i++) { + for (i = 0; i < ports_c; i++) { hlpr = &irc_helpers[i]; hlpr->tuple.src.u.tcp.port = htons(ports[i]); hlpr->tuple.dst.protonum = IPPROTO_TCP; @@ -284,7 +281,6 @@ static int __init init(void) fini(); return -EBUSY; } - ports_c++; } return 0; } diff -puN net/ipv4/netfilter/ip_conntrack_tftp.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_conntrack_tftp.c --- 25/net/ipv4/netfilter/ip_conntrack_tftp.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.814076784 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_conntrack_tftp.c 2004-08-15 19:40:22.841072680 -0700 @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -25,9 +26,9 @@ MODULE_DESCRIPTION("tftp connection trac MODULE_LICENSE("GPL"); #define MAX_PORTS 8 -static int ports[MAX_PORTS]; -static int ports_c; -MODULE_PARM(ports, "1-" __MODULE_STRING(MAX_PORTS) "i"); +static int ports[MAX_PORTS] = { TFTP_PORT }; +static int ports_c = 1; +module_param_array(ports, int, ports_c, 0400); MODULE_PARM_DESC(ports, "port numbers of tftp servers"); #if 0 @@ -104,10 +105,7 @@ static int __init init(void) int i, ret; char *tmpname; - if (!ports[0]) - ports[0]=TFTP_PORT; - - for (i = 0 ; (i < MAX_PORTS) && ports[i] ; i++) { + for (i = 0 ; i < ports_c; i++) { /* Create helper structure */ memset(&tftp[i], 0, sizeof(struct ip_conntrack_helper)); @@ -137,7 +135,6 @@ static int __init init(void) fini(); return(ret); } - ports_c++; } return(0); } diff -puN net/ipv4/netfilter/ip_nat_ftp.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_nat_ftp.c --- 25/net/ipv4/netfilter/ip_nat_ftp.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.815076632 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_nat_ftp.c 2004-08-15 19:40:22.842072528 -0700 @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -30,10 +31,10 @@ MODULE_DESCRIPTION("ftp NAT helper"); #endif #define MAX_PORTS 8 -static int ports[MAX_PORTS]; -static int ports_c; +static int ports[MAX_PORTS] = { FTP_PORT }; +static int ports_c = 1; -MODULE_PARM(ports, "1-" __MODULE_STRING(MAX_PORTS) "i"); +module_param_array(ports, int, ports_c, 0400); DECLARE_LOCK_EXTERN(ip_ftp_lock); @@ -313,10 +314,7 @@ static int __init init(void) int i, ret = 0; char *tmpname; - if (ports[0] == 0) - ports[0] = FTP_PORT; - - for (i = 0; (i < MAX_PORTS) && ports[i]; i++) { + for (i = 0; i < ports_c; i++) { ftp[i].tuple.dst.protonum = IPPROTO_TCP; ftp[i].tuple.src.u.tcp.port = htons(ports[i]); ftp[i].mask.dst.protonum = 0xFFFF; @@ -343,7 +341,6 @@ static int __init init(void) fini(); return ret; } - ports_c++; } return ret; diff -puN net/ipv4/netfilter/ip_nat_irc.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_nat_irc.c --- 25/net/ipv4/netfilter/ip_nat_irc.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.817076328 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_nat_irc.c 2004-08-15 19:40:22.842072528 -0700 @@ -17,6 +17,7 @@ */ #include +#include #include #include #include @@ -35,13 +36,13 @@ #endif #define MAX_PORTS 8 -static int ports[MAX_PORTS]; -static int ports_c; +static int ports[MAX_PORTS] = { IRC_PORT }; +static int ports_c = 1; MODULE_AUTHOR("Harald Welte "); MODULE_DESCRIPTION("IRC (DCC) NAT helper"); MODULE_LICENSE("GPL"); -MODULE_PARM(ports, "1-" __MODULE_STRING(MAX_PORTS) "i"); +module_param_array(ports, int, ports_c, 0400); MODULE_PARM_DESC(ports, "port numbers of IRC servers"); /* protects irc part of conntracks */ @@ -235,11 +236,7 @@ static int __init init(void) struct ip_nat_helper *hlpr; char *tmpname; - if (ports[0] == 0) { - ports[0] = IRC_PORT; - } - - for (i = 0; (i < MAX_PORTS) && ports[i] != 0; i++) { + for (i = 0; ports_c; i++) { hlpr = &ip_nat_irc_helpers[i]; hlpr->tuple.dst.protonum = IPPROTO_TCP; hlpr->tuple.src.u.tcp.port = htons(ports[i]); @@ -269,7 +266,6 @@ static int __init init(void) fini(); return 1; } - ports_c++; } return ret; } diff -puN net/ipv4/netfilter/ip_nat_snmp_basic.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_nat_snmp_basic.c --- 25/net/ipv4/netfilter/ip_nat_snmp_basic.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.818076176 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_nat_snmp_basic.c 2004-08-15 19:40:22.843072376 -0700 @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -1357,4 +1358,4 @@ static void __exit fini(void) module_init(init); module_exit(fini); -MODULE_PARM(debug, "i"); +module_param(debug, int, 0600); diff -puN net/ipv4/netfilter/ip_nat_tftp.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ip_nat_tftp.c --- 25/net/ipv4/netfilter/ip_nat_tftp.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.819076024 -0700 +++ 25-akpm/net/ipv4/netfilter/ip_nat_tftp.c 2004-08-15 19:40:22.844072224 -0700 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -39,9 +40,9 @@ MODULE_LICENSE("GPL"); #define MAX_PORTS 8 -static int ports[MAX_PORTS]; -static int ports_c = 0; -MODULE_PARM(ports,"1-" __MODULE_STRING(MAX_PORTS) "i"); +static int ports[MAX_PORTS] = { TFTP_PORT }; +static int ports_c = 1; +module_param_array(ports, int, ports_c, 0400); MODULE_PARM_DESC(ports, "port numbers of tftp servers"); #if 0 @@ -162,10 +163,7 @@ static int __init init(void) int i, ret = 0; char *tmpname; - if (!ports[0]) - ports[0] = TFTP_PORT; - - for (i = 0 ; (i < MAX_PORTS) && ports[i] ; i++) { + for (i = 0 ; i < ports_c ; i++) { memset(&tftp[i], 0, sizeof(struct ip_nat_helper)); tftp[i].tuple.dst.protonum = IPPROTO_UDP; @@ -194,7 +192,6 @@ static int __init init(void) fini(); return ret; } - ports_c++; } return ret; } diff -puN net/ipv4/netfilter/iptable_filter.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/iptable_filter.c --- 25/net/ipv4/netfilter/iptable_filter.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.821075720 -0700 +++ 25-akpm/net/ipv4/netfilter/iptable_filter.c 2004-08-15 19:40:22.846071920 -0700 @@ -11,6 +11,7 @@ */ #include +#include #include MODULE_LICENSE("GPL"); @@ -155,7 +156,7 @@ static struct nf_hook_ops ipt_ops[] = { /* Default to forward because I got too much mail already. */ static int forward = NF_ACCEPT; -MODULE_PARM(forward, "i"); +module_param(forward, bool, 0); static int __init init(void) { diff -puN net/ipv4/netfilter/ipt_LOG.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ipt_LOG.c --- 25/net/ipv4/netfilter/ipt_LOG.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.822075568 -0700 +++ 25-akpm/net/ipv4/netfilter/ipt_LOG.c 2004-08-15 19:40:22.844072224 -0700 @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -28,7 +29,7 @@ MODULE_AUTHOR("Netfilter Core Team #include #include +#include #include #include @@ -37,12 +38,12 @@ KERN_INFO RECENT_NAME " " RECENT_VER ": MODULE_AUTHOR("Stephen Frost "); MODULE_DESCRIPTION("IP tables recently seen matching module " RECENT_VER); MODULE_LICENSE("GPL"); -MODULE_PARM(ip_list_tot,"i"); -MODULE_PARM(ip_pkt_list_tot,"i"); -MODULE_PARM(ip_list_hash_size,"i"); -MODULE_PARM(ip_list_perms,"i"); +module_param(ip_list_tot, int ,0); +module_param(ip_pkt_list_tot, int, 0); +module_param(ip_list_hash_size, int, 0); +module_param(ip_list_perms, int, 0); #ifdef DEBUG -MODULE_PARM(debug,"i"); +module_param(debug, int, bool); MODULE_PARM_DESC(debug,"debugging level, defaults to 1"); #endif MODULE_PARM_DESC(ip_list_tot,"number of IPs to remember per list"); diff -puN net/ipv4/netfilter/ipt_ULOG.c~remove-module_parm-from-main-part-of-kernel net/ipv4/netfilter/ipt_ULOG.c --- 25/net/ipv4/netfilter/ipt_ULOG.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.825075112 -0700 +++ 25-akpm/net/ipv4/netfilter/ipt_ULOG.c 2004-08-15 19:40:22.845072072 -0700 @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -74,15 +75,15 @@ MODULE_DESCRIPTION("iptables userspace l #define PRINTR(format, args...) do { if (net_ratelimit()) printk(format , ## args); } while (0) static unsigned int nlbufsiz = 4096; -MODULE_PARM(nlbufsiz, "i"); +module_param(nlbufsiz, uint, 0); MODULE_PARM_DESC(nlbufsiz, "netlink buffer size"); static unsigned int flushtimeout = 10 * HZ; -MODULE_PARM(flushtimeout, "i"); +module_param(flushtimeout, uint, 0); MODULE_PARM_DESC(flushtimeout, "buffer flush timeout"); -static unsigned int nflog = 1; -MODULE_PARM(nflog, "i"); +static int nflog = 1; +module_param(nflog, bool, 0); MODULE_PARM_DESC(nflog, "register as internal netfilter logging module"); /* global data structures */ diff -puN net/ipv6/netfilter/ip6table_filter.c~remove-module_parm-from-main-part-of-kernel net/ipv6/netfilter/ip6table_filter.c --- 25/net/ipv6/netfilter/ip6table_filter.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.826074960 -0700 +++ 25-akpm/net/ipv6/netfilter/ip6table_filter.c 2004-08-15 19:40:22.847071768 -0700 @@ -10,6 +10,7 @@ */ #include +#include #include MODULE_LICENSE("GPL"); @@ -156,7 +157,7 @@ static struct nf_hook_ops ip6t_ops[] = { /* Default to forward because I got too much mail already. */ static int forward = NF_ACCEPT; -MODULE_PARM(forward, "i"); +module_param(forward, bool, 0); static int __init init(void) { diff -puN net/ipv6/netfilter/ip6t_LOG.c~remove-module_parm-from-main-part-of-kernel net/ipv6/netfilter/ip6t_LOG.c --- 25/net/ipv6/netfilter/ip6t_LOG.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.828074656 -0700 +++ 25-akpm/net/ipv6/netfilter/ip6t_LOG.c 2004-08-15 19:40:22.847071768 -0700 @@ -19,14 +19,15 @@ #include #include #include +#include #include MODULE_AUTHOR("Jan Rekorajski "); MODULE_DESCRIPTION("IP6 tables LOG target module"); MODULE_LICENSE("GPL"); -static unsigned int nflog = 1; -MODULE_PARM(nflog, "i"); +static int nflog = 1; +module_param(nflog, bool, 0); MODULE_PARM_DESC(nflog, "register as internal netfilter logging module"); struct in_device; diff -puN net/irda/irlan/irlan_common.c~remove-module_parm-from-main-part-of-kernel net/irda/irlan/irlan_common.c --- 25/net/irda/irlan/irlan_common.c~remove-module_parm-from-main-part-of-kernel 2004-08-15 19:40:22.829074504 -0700 +++ 25-akpm/net/irda/irlan/irlan_common.c 2004-08-15 19:40:22.848071616 -0700 @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -1181,9 +1182,9 @@ MODULE_AUTHOR("Dag Brattli #include #include +#include #include #include @@ -449,7 +450,7 @@ static __init void teql_master_setup(str static LIST_HEAD(master_dev_list); static int max_equalizers = 1; -MODULE_PARM(max_equalizers, "i"); +module_param(max_equalizers, int, 0); MODULE_PARM_DESC(max_equalizers, "Max number of link equalizers"); static int __init teql_init(void) _