Name: Parameter Changes: Drivers Depends: Module/param.patch.gz Author: Rusty Russell D: This replaces all the occurrances of __setup and MODULE_PARM in the D: drivers (other than networking) with the new PARAM calls. diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/acorn/scsi/cumana_2.c .14440-linux-2.5.36.updated/drivers/acorn/scsi/cumana_2.c --- .14440-linux-2.5.36/drivers/acorn/scsi/cumana_2.c 2002-08-11 15:31:33.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/acorn/scsi/cumana_2.c 2002-09-18 18:39:10.000000000 +1000 @@ -597,7 +597,7 @@ module_exit(cumanascsi2_exit); MODULE_AUTHOR("Russell King"); MODULE_DESCRIPTION("Cumana SCSI-2 driver for Acorn machines"); -MODULE_PARM(term, "1-8i"); +PARAM_ARRAY(term, term, int, 1, 8, S_IRUGO); MODULE_PARM_DESC(term, "SCSI bus termination"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/acorn/scsi/eesox.c .14440-linux-2.5.36.updated/drivers/acorn/scsi/eesox.c --- .14440-linux-2.5.36/drivers/acorn/scsi/eesox.c 2002-08-11 15:31:33.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/acorn/scsi/eesox.c 2002-09-18 18:39:10.000000000 +1000 @@ -594,7 +594,7 @@ module_exit(eesox_exit); MODULE_AUTHOR("Russell King"); MODULE_DESCRIPTION("EESOX 'Fast' SCSI driver for Acorn machines"); -MODULE_PARM(term, "1-8i"); +PARAM_ARRAY(term, term, int, 1, 8, S_IRUGO); MODULE_PARM_DESC(term, "SCSI bus termination"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/acorn/scsi/powertec.c .14440-linux-2.5.36.updated/drivers/acorn/scsi/powertec.c --- .14440-linux-2.5.36/drivers/acorn/scsi/powertec.c 2002-08-11 15:31:33.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/acorn/scsi/powertec.c 2002-09-18 18:39:10.000000000 +1000 @@ -494,7 +494,7 @@ module_exit(powertecscsi_exit); MODULE_AUTHOR("Russell King"); MODULE_DESCRIPTION("Powertec SCSI driver"); -MODULE_PARM(term, "1-8i"); +PARAM_ARRAY(term, term, int, 1, 8, S_IRUGO); MODULE_PARM_DESC(term, "SCSI bus termination"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/atm/ambassador.c .14440-linux-2.5.36.updated/drivers/atm/ambassador.c --- .14440-linux-2.5.36/drivers/atm/ambassador.c 2002-08-11 15:31:33.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/atm/ambassador.c 2002-09-18 18:39:10.000000000 +1000 @@ -322,7 +322,7 @@ static unsigned int txs = 32; static unsigned int rxs[NUM_RX_POOLS] = { 64, 64, 64, 64 }; static unsigned int rxs_bs[NUM_RX_POOLS] = { 4080, 12240, 36720, 65535 }; static unsigned int rx_lats = 7; -static unsigned char pci_lat = 0; +static unsigned int pci_lat = 0; static const unsigned long onegigmask = -1 << 30; @@ -2584,13 +2584,13 @@ static void __init amb_check_args (void) MODULE_AUTHOR(maintainer_string); MODULE_DESCRIPTION(description_string); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "h"); -MODULE_PARM(cmds, "i"); -MODULE_PARM(txs, "i"); -MODULE_PARM(rxs, __MODULE_STRING(NUM_RX_POOLS) "i"); -MODULE_PARM(rxs_bs, __MODULE_STRING(NUM_RX_POOLS) "i"); -MODULE_PARM(rx_lats, "i"); -MODULE_PARM(pci_lat, "b"); +PARAM(debug, short, S_IWUSR|S_IRUGO); +PARAM(cmds, int, S_IRUGO); +PARAM(txs, int, S_IRUGO); +PARAM_ARRAY(rxs, rxs, int, 1, NUM_RX_POOLS, S_IRUGO); +PARAM_ARRAY(rxs_bs, rxs_bs, int, 1, NUM_RX_POOLS, S_IRUGO); +PARAM(rx_lats, int, S_IRUGO); +PARAM(pci_lat, int, S_IRUGO); MODULE_PARM_DESC(debug, "debug bitmap, see .h file"); MODULE_PARM_DESC(cmds, "number of command queue entries"); MODULE_PARM_DESC(txs, "number of TX queue entries"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/atm/firestream.c .14440-linux-2.5.36.updated/drivers/atm/firestream.c --- .14440-linux-2.5.36/drivers/atm/firestream.c 2002-08-11 15:31:33.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/atm/firestream.c 2002-09-18 18:39:10.000000000 +1000 @@ -306,11 +306,11 @@ static int fs_debug = 0; #ifdef MODULE #ifdef DEBUG -MODULE_PARM(fs_debug, "i"); +PARAM(fs_debug, int, 000); #endif -MODULE_PARM(loopback, "i"); -MODULE_PARM(num, "i"); -MODULE_PARM(fs_keystream, "i"); +PARAM(loopback, int, 000); +PARAM(num, int, 000); +PARAM(fs_keystream, int, 000); /* XXX Add rx_buf_sizes, and rx_pool_sizes As per request Amar. -- REW */ #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/atm/horizon.c .14440-linux-2.5.36.updated/drivers/atm/horizon.c --- .14440-linux-2.5.36/drivers/atm/horizon.c 2002-08-11 15:31:33.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/atm/horizon.c 2002-09-18 18:39:10.000000000 +1000 @@ -361,7 +361,7 @@ static unsigned short debug = 0; static unsigned short vpi_bits = 0; static unsigned short max_tx_size = 9000; static unsigned short max_rx_size = 9000; -static unsigned char pci_lat = 0; +static unsigned short pci_lat = 0; /********** access functions **********/ @@ -2931,11 +2931,11 @@ static void __init hrz_check_args (void) MODULE_AUTHOR(maintainer_string); MODULE_DESCRIPTION(description_string); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "h"); -MODULE_PARM(vpi_bits, "h"); -MODULE_PARM(max_tx_size, "h"); -MODULE_PARM(max_rx_size, "h"); -MODULE_PARM(pci_lat, "b"); +PARAM(debug, short, 000); +PARAM(vpi_bits, short, 000); +PARAM(max_tx_size, short, 000); +PARAM(max_rx_size, short, 000); +PARAM(pci_lat, short, 000); MODULE_PARM_DESC(debug, "debug bitmap, see .h file"); MODULE_PARM_DESC(vpi_bits, "number of bits (0..4) to allocate to VPIs"); MODULE_PARM_DESC(max_tx_size, "maximum size of TX AAL5 frames"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/atm/iphase.c .14440-linux-2.5.36.updated/drivers/atm/iphase.c --- .14440-linux-2.5.36/drivers/atm/iphase.c 2002-08-11 15:31:34.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/atm/iphase.c 2002-09-18 18:39:10.000000000 +1000 @@ -89,11 +89,11 @@ static u32 IADebugFlag = /* IF_IADBG_ERR |IF_IADBG_ABR | IF_IADBG_EVENT*/ 0; #ifdef MODULE -MODULE_PARM(IA_TX_BUF, "i"); -MODULE_PARM(IA_TX_BUF_SZ, "i"); -MODULE_PARM(IA_RX_BUF, "i"); -MODULE_PARM(IA_RX_BUF_SZ, "i"); -MODULE_PARM(IADebugFlag, "i"); +PARAM(IA_TX_BUF, int, 000); +PARAM(IA_TX_BUF_SZ, int, 000); +PARAM(IA_RX_BUF, int, 000); +PARAM(IA_RX_BUF_SZ, int, 000); +PARAM(IADebugFlag, int, 000); #endif MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/atm/nicstar.c .14440-linux-2.5.36.updated/drivers/atm/nicstar.c --- .14440-linux-2.5.36/drivers/atm/nicstar.c 2002-08-11 15:31:34.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/atm/nicstar.c 2002-09-18 18:39:10.000000000 +1000 @@ -270,7 +270,7 @@ static struct atmdev_ops atm_ops = }; static struct timer_list ns_timer; static char *mac[NS_MAX_CARDS]; -MODULE_PARM(mac, "1-" __MODULE_STRING(NS_MAX_CARDS) "s"); +PARAM_ARRAY(mac, mac, charp, 1, NS_MAX_CARDS, S_IRUGO); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/amiflop.c .14440-linux-2.5.36.updated/drivers/block/amiflop.c --- .14440-linux-2.5.36/drivers/block/amiflop.c 2002-08-11 15:31:34.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/amiflop.c 2002-09-18 18:39:10.000000000 +1000 @@ -120,7 +120,7 @@ static long int fd_def_df0 = FD_DD_3; /* default for df0 if it doesn't identify */ -MODULE_PARM(fd_def_df0,"l"); +PARAM(fd_def_df0, long, 000); MODULE_LICENSE("GPL"); /* diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/ataflop.c .14440-linux-2.5.36.updated/drivers/block/ataflop.c --- .14440-linux-2.5.36/drivers/block/ataflop.c 2002-08-11 15:31:34.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/ataflop.c 2002-09-18 18:39:10.000000000 +1000 @@ -289,7 +289,7 @@ unsigned char *DMABuffer; /* buffer static unsigned long PhysDMABuffer; /* physical address */ static int UseTrackbuffer = -1; /* Do track buffering? */ -MODULE_PARM(UseTrackbuffer, "i"); +PARAM(UseTrackbuffer, int, 000); unsigned char *TrackBuffer; /* buffer for reads */ static unsigned long PhysTrackBuffer; /* physical address */ @@ -314,7 +314,7 @@ static int MotorOn = 0, MotorOffTrys; static int IsFormatting = 0, FormatError; static int UserSteprate[FD_MAX_UNITS] = { -1, -1 }; -MODULE_PARM(UserSteprate, "1-" __MODULE_STRING(FD_MAX_UNITS) "i"); +PARAM_ARRAY(UserSteprate, UserSteprate, int, 1, FD_MAX_UNITS, 000); /* Synchronization of FDC access. */ static volatile int fdc_busy = 0; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/cpqarray.c .14440-linux-2.5.36.updated/drivers/block/cpqarray.c --- .14440-linux-2.5.36/drivers/block/cpqarray.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/cpqarray.c 2002-09-19 08:42:36.000000000 +1000 @@ -276,7 +276,7 @@ static int ida_proc_get_info(char *buffe #ifdef MODULE -MODULE_PARM(eisa, "1-8i"); +PARAM_ARRAY(eisa, eisa, int, 1, 8, S_IRUGO); /* This is a bit of a hack... */ int __init init_module(void) @@ -626,38 +626,6 @@ static void *remap_pci_mem(ulong base, u return (page_remapped ? (page_remapped + page_offs) : NULL); } -#ifndef MODULE -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,13) -/* - * Config string is a comma seperated set of i/o addresses of EISA cards. - */ -static int cpqarray_setup(char *str) -{ - int i, ints[9]; - - (void)get_options(str, ARRAY_SIZE(ints), ints); - - for(i=0; i #include #include +#include #include @@ -162,14 +163,14 @@ void pcd_setup(char *str, int *ints) #endif -MODULE_PARM(verbose, "i"); -MODULE_PARM(major, "i"); -MODULE_PARM(name, "s"); -MODULE_PARM(nice, "i"); -MODULE_PARM(drive0, "1-6i"); -MODULE_PARM(drive1, "1-6i"); -MODULE_PARM(drive2, "1-6i"); -MODULE_PARM(drive3, "1-6i"); +PARAM(verbose, int, 000); +PARAM(major, int, 000); +PARAM(name, charp, 000); +PARAM(nice, int, 000); +PARAM_ARRAY(drive0, drive0, int, 1, 6, 000); +PARAM_ARRAY(drive1, drive1, int, 1, 6, 000); +PARAM_ARRAY(drive2, drive2, int, 1, 6, 000); +PARAM_ARRAY(drive3, drive3, int, 1, 6, 000); #include "paride.h" diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/paride/pd.c .14440-linux-2.5.36.updated/drivers/block/paride/pd.c --- .14440-linux-2.5.36/drivers/block/paride/pd.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/paride/pd.c 2002-09-19 08:43:21.000000000 +1000 @@ -159,6 +159,7 @@ static int pd_drive_count; #include #include #include /* for the eject ioctl */ +#include #include @@ -183,15 +184,15 @@ void pd_setup( char *str, int *ints) #endif -MODULE_PARM(verbose,"i"); -MODULE_PARM(major,"i"); -MODULE_PARM(name,"s"); -MODULE_PARM(cluster,"i"); -MODULE_PARM(nice,"i"); -MODULE_PARM(drive0,"1-8i"); -MODULE_PARM(drive1,"1-8i"); -MODULE_PARM(drive2,"1-8i"); -MODULE_PARM(drive3,"1-8i"); +PARAM(verbose, int, 000); +PARAM(major, int, 000); +PARAM(name, charp, 000); +PARAM(cluster, int, 000); +PARAM(nice, int, 000); +PARAM_ARRAY(drive0, drive0, int, 1, 8, 000); +PARAM_ARRAY(drive1, drive1, int, 1, 8, 000); +PARAM_ARRAY(drive2, drive2, int, 1, 8, 000); +PARAM_ARRAY(drive3, drive3, int, 1, 8, 000); #include "paride.h" diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/paride/pf.c .14440-linux-2.5.36.updated/drivers/block/paride/pf.c --- .14440-linux-2.5.36/drivers/block/paride/pf.c 2002-07-25 10:13:06.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/paride/pf.c 2002-09-18 18:39:10.000000000 +1000 @@ -159,6 +159,7 @@ static int pf_drive_count; #include #include #include +#include #include @@ -183,15 +184,15 @@ void pf_setup( char *str, int *ints) #endif -MODULE_PARM(verbose,"i"); -MODULE_PARM(major,"i"); -MODULE_PARM(name,"s"); -MODULE_PARM(cluster,"i"); -MODULE_PARM(nice,"i"); -MODULE_PARM(drive0,"1-7i"); -MODULE_PARM(drive1,"1-7i"); -MODULE_PARM(drive2,"1-7i"); -MODULE_PARM(drive3,"1-7i"); +PARAM(verbose, int, 000); +PARAM(major, int, 000); +PARAM(name, charp, 000); +PARAM(cluster, int, 000); +PARAM(nice, int, 000); +PARAM_ARRAY(drive0, drive0, int, 1, 7, 000); +PARAM_ARRAY(drive1, drive1, int, 1, 7, 000); +PARAM_ARRAY(drive2, drive2, int, 1, 7, 000); +PARAM_ARRAY(drive3, drive3, int, 1, 7, 000); #include "paride.h" diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/paride/pg.c .14440-linux-2.5.36.updated/drivers/block/paride/pg.c --- .14440-linux-2.5.36/drivers/block/paride/pg.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/paride/pg.c 2002-09-19 08:43:07.000000000 +1000 @@ -169,6 +169,7 @@ static int pg_drive_count; #include #include #include +#include #include @@ -189,13 +190,13 @@ void pg_setup( char *str, int *ints) #endif -MODULE_PARM(verbose,"i"); -MODULE_PARM(major,"i"); -MODULE_PARM(name,"s"); -MODULE_PARM(drive0,"1-6i"); -MODULE_PARM(drive1,"1-6i"); -MODULE_PARM(drive2,"1-6i"); -MODULE_PARM(drive3,"1-6i"); +PARAM(verbose, int, 000); +PARAM(major, int, 000); +PARAM(name, charp, 000); +PARAM_ARRAY(drive0, drive0, int, 1, 6, 000); +PARAM_ARRAY(drive1, drive1, int, 1, 6, 000); +PARAM_ARRAY(drive2, drive2, int, 1, 6, 000); +PARAM_ARRAY(drive3, drive3, int, 1, 6, 000); #include "paride.h" diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/paride/pt.c .14440-linux-2.5.36.updated/drivers/block/paride/pt.c --- .14440-linux-2.5.36/drivers/block/paride/pt.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/paride/pt.c 2002-09-19 08:42:54.000000000 +1000 @@ -147,6 +147,7 @@ static int pt_drive_count; #include #include #include +#include #include @@ -167,13 +168,13 @@ void pt_setup( char *str, int *ints) #endif -MODULE_PARM(verbose,"i"); -MODULE_PARM(major,"i"); -MODULE_PARM(name,"s"); -MODULE_PARM(drive0,"1-6i"); -MODULE_PARM(drive1,"1-6i"); -MODULE_PARM(drive2,"1-6i"); -MODULE_PARM(drive3,"1-6i"); +PARAM(verbose, int, 000); +PARAM(major, int, 000); +PARAM(name, charp, 000); +PARAM_ARRAY(drive0, drive0, int, 1, 6, 000); +PARAM_ARRAY(drive1, drive1, int, 1, 6, 000); +PARAM_ARRAY(drive2, drive2, int, 1, 6, 000); +PARAM_ARRAY(drive3, drive3, int, 1, 6, 000); #include "paride.h" diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/ps2esdi.c .14440-linux-2.5.36.updated/drivers/block/ps2esdi.c --- .14440-linux-2.5.36/drivers/block/ps2esdi.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/ps2esdi.c 2002-09-18 18:39:10.000000000 +1000 @@ -198,10 +198,10 @@ static int cyl[MAX_HD] = {-1,-1}; static int head[MAX_HD] = {-1, -1}; static int sect[MAX_HD] = {-1, -1}; -MODULE_PARM(tp720esdi, "i"); -MODULE_PARM(cyl, "i"); -MODULE_PARM(head, "i"); -MODULE_PARM(track, "i"); +PARAM(tp720esdi, int, 000); +PARAM(cyl, int, 000); +PARAM(head, int, 000); +PARAM(track, int, 000); MODULE_LICENSE("GPL"); int init_module(void) { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/rd.c .14440-linux-2.5.36.updated/drivers/block/rd.c --- .14440-linux-2.5.36/drivers/block/rd.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/rd.c 2002-09-18 19:19:42.000000000 +1000 @@ -472,28 +472,6 @@ static int __init rd_init (void) module_init(rd_init); module_exit(rd_cleanup); -/* options - nonmodular */ -#ifndef MODULE -static int __init ramdisk_size(char *str) -{ - rd_size = simple_strtol(str,NULL,0); - return 1; -} -static int __init ramdisk_size2(char *str) /* kludge */ -{ - return ramdisk_size(str); -} -static int __init ramdisk_blocksize(char *str) -{ - rd_blocksize = simple_strtol(str,NULL,0); - return 1; -} -__setup("ramdisk=", ramdisk_size); -__setup("ramdisk_size=", ramdisk_size2); -__setup("ramdisk_blocksize=", ramdisk_blocksize); -#endif - -/* options - modular */ MODULE_PARM (rd_size, "1i"); MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes."); MODULE_PARM (rd_blocksize, "i"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/block/xd.c .14440-linux-2.5.36.updated/drivers/block/xd.c --- .14440-linux-2.5.36/drivers/block/xd.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/block/xd.c 2002-09-18 18:39:10.000000000 +1000 @@ -1025,13 +1025,6 @@ static void __init xd_setparam (u_char c } -#ifdef MODULE -static int xd[5] = { -1,-1,-1,-1, }; - -MODULE_PARM(xd, "1-4i"); -MODULE_PARM(xd_geo, "3-6i"); -MODULE_PARM(nodma, "i"); - MODULE_LICENSE("GPL"); static void xd_done (void) @@ -1049,12 +1042,6 @@ int init_module(void) int i,count = 0; int error; - for (i = 4; i > 0; i--) - if(((xd[i] = xd[i-1]) >= 0) && !count) - count = i; - if((xd[0] = count)) - do_xd_setup(xd); - error = xd_init(); if (error) return error; @@ -1081,19 +1068,21 @@ void cleanup_module(void) xd_dma_mem_free((unsigned long)xd_dma_buffer, xd_maxsectors * 0x200); } } -#else -static int __init xd_setup (char *str) +module_init(init_module); +module_exit(cleanup_module); + +static int __init xd_setup (char *str, struct kernel_param *kp) { int ints[5]; get_options (str, ARRAY_SIZE (ints), ints); do_xd_setup (ints); - return 1; + return 0; } /* xd_manual_geo_init: initialise drive geometry from command line parameters (used only for WD drives) */ -static int __init xd_manual_geo_init (char *str) +static int __init xd_manual_geo_init (char *str, struct kernel_param *kp) { int i, integers[1 + 3*XD_MAXDRIVES]; @@ -1104,11 +1093,9 @@ static int __init xd_manual_geo_init (ch } for (i = 0; (i < integers[0]) && (i < 3*XD_MAXDRIVES); i++) xd_geo[i] = integers[i+1]; - return 1; + return 0; } -__setup ("xd=", xd_setup); -__setup ("xd_geo=", xd_manual_geo_init); - -#endif /* MODULE */ - +PARAM_CALL(xd, xd_setup, NULL); +PARAM_CALL(xd_geo, xd_manual_geo_init, NULL); +PARAM(nodma, bool, 000); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/aztcd.c .14440-linux-2.5.36.updated/drivers/cdrom/aztcd.c --- .14440-linux-2.5.36/drivers/cdrom/aztcd.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/aztcd.c 2002-09-18 18:39:10.000000000 +1000 @@ -288,7 +288,7 @@ static volatile int azt_read_count = 1; static int azt_port = AZT_BASE_ADDR; -MODULE_PARM(azt_port, "i"); +PARAM(azt_port, int, 000); static int azt_port_auto[16] = AZT_BASE_AUTO; @@ -1145,7 +1145,7 @@ static int aztGetToc(int multi) */ #ifndef MODULE -static int __init aztcd_setup(char *str) +static int __init aztcd_setup(char *str, struct kernel_param *kp) { int ints[4]; @@ -1155,10 +1155,10 @@ static int __init aztcd_setup(char *str) azt_port = ints[1]; if (ints[1] > 1) azt_cont = ints[2]; - return 1; + return 0; } -__setup("aztcd=", aztcd_setup); +PARAM_CALL(aztcd, aztcd_setup, NULL); #endif /* !MODULE */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/cdrom.c .14440-linux-2.5.36.updated/drivers/cdrom/cdrom.c --- .14440-linux-2.5.36/drivers/cdrom/cdrom.c 2002-09-18 16:03:57.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/cdrom.c 2002-09-18 18:39:10.000000000 +1000 @@ -280,11 +280,12 @@ static int autoeject; static int lockdoor = 1; /* will we ever get to use this... sigh. */ static int check_media_type; -MODULE_PARM(debug, "i"); -MODULE_PARM(autoclose, "i"); -MODULE_PARM(autoeject, "i"); -MODULE_PARM(lockdoor, "i"); -MODULE_PARM(check_media_type, "i"); + +PARAM(debug, int, S_IRUGO|S_IWUSR); +PARAM(autoclose, int, S_IRUGO|S_IWUSR); +PARAM(autoeject, int, S_IRUGO|S_IWUSR); +PARAM(lockdoor, int, S_IRUGO|S_IWUSR); +PARAM(check_media_type, int, S_IRUGO|S_IWUSR); #if (ERRLOGMASK!=CD_NOTHING) #define cdinfo(type, fmt, args...) \ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/cdu31a.c .14440-linux-2.5.36.updated/drivers/cdrom/cdu31a.c --- .14440-linux-2.5.36/drivers/cdrom/cdu31a.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/cdu31a.c 2002-09-18 18:39:10.000000000 +1000 @@ -223,7 +223,7 @@ static unsigned int sony_blocks_left = 0 /* The base I/O address of the Sony Interface. This is a variable (not a #define) so it can be easily changed via some future ioctl() */ static unsigned int cdu31a_port = 0; -MODULE_PARM(cdu31a_port, "i"); +PARAM(cdu31a_port, int, 000); /* * The following are I/O addresses of the various registers for the drive. The @@ -301,7 +301,7 @@ static unsigned volatile char final_pos_ /* What IRQ is the drive using? 0 if none. */ static int cdu31a_irq = 0; -MODULE_PARM(cdu31a_irq, "i"); +PARAM(cdu31a_irq, int, 000); /* The interrupt handler will wake this queue up when it gets an interrupts. */ @@ -3257,7 +3257,7 @@ get_drive_configuration(unsigned short b */ -static int __init cdu31a_setup(char *strings) +static int __init cdu31a_setup(char *strings, struct kernel_param *kp) { int ints[4]; @@ -3281,7 +3281,7 @@ static int __init cdu31a_setup(char *str return 1; } -__setup("cdu31a=", cdu31a_setup); +PARAM_CALL(cdu31a, cdu31a_setup, NULL); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/cm206.c .14440-linux-2.5.36.updated/drivers/cdrom/cm206.c --- .14440-linux-2.5.36/drivers/cdrom/cm206.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/cm206.c 2002-09-18 18:39:10.000000000 +1000 @@ -221,10 +221,10 @@ static int cm206_irq = CM206_IRQ; static int cm206[2] = { 0, 0 }; /* for compatible `insmod' parameter passing */ #endif -MODULE_PARM(cm206_base, "i"); /* base */ -MODULE_PARM(cm206_irq, "i"); /* irq */ -MODULE_PARM(cm206, "1-2i"); /* base,irq or irq,base */ -MODULE_PARM(auto_probe, "i"); /* auto probe base and irq */ +PARAM(cm206_base, int, 000); /* base */ +PARAM(cm206_irq, int, 000); /* irq */ +PARAM_ARRAY(cm206, cm206, int, 1, 2, 000); /* base,irq or irq,base */ +PARAM(auto_probe, int, 000); /* auto probe base and irq */ MODULE_LICENSE("GPL"); #define POLLOOP 100 /* milliseconds */ @@ -1560,7 +1560,7 @@ module_exit(cm206_exit); /* This setup function accepts either `auto' or numbers in the range * 3--11 (for irq) or 0x300--0x370 (for base port) or both. */ -static int __init cm206_setup(char *s) +static int __init cm206_setup(char *s, struct kernel_param *kp) { int i, p[4]; @@ -1580,7 +1580,7 @@ static int __init cm206_setup(char *s) return 1; } -__setup("cm206=", cm206_setup); +PARAM_CALL("cm206", cm206_setup, NULL); #endif /* !MODULE */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/gscd.c .14440-linux-2.5.36.updated/drivers/cdrom/gscd.c --- .14440-linux-2.5.36/drivers/cdrom/gscd.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/gscd.c 2002-09-18 18:39:10.000000000 +1000 @@ -80,7 +80,7 @@ static int gscdPresent = 0; static unsigned char gscd_buf[2048]; /* buffer for block size conversion */ static int gscd_bn = -1; static short gscd_port = GSCD_BASE_ADDR; -MODULE_PARM(gscd, "h"); +PARAM(gscd, short, 000); /* Kommt spaeter vielleicht noch mal dran ... * static DECLARE_WAIT_QUEUE_HEAD(gscd_waitq); @@ -195,24 +195,6 @@ static int check_gscd_med_chg(kdev_t ful } -#ifndef MODULE -/* Using new interface for kernel-parameters */ - -static int __init gscd_setup(char *str) -{ - int ints[2]; - (void) get_options(str, ARRAY_SIZE(ints), ints); - - if (ints[0] > 0) { - gscd_port = ints[1]; - } - return 1; -} - -__setup("gscd=", gscd_setup); - -#endif - static int gscd_ioctl(struct inode *ip, struct file *fp, unsigned int cmd, unsigned long arg) { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/isp16.c .14440-linux-2.5.36.updated/drivers/cdrom/isp16.c --- .14440-linux-2.5.36/drivers/cdrom/isp16.c 2002-05-25 10:58:18.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/isp16.c 2002-09-18 18:39:10.000000000 +1000 @@ -68,10 +68,10 @@ static int isp16_cdrom_irq = ISP16_CDROM static int isp16_cdrom_dma = ISP16_CDROM_DMA; static char *isp16_cdrom_type = ISP16_CDROM_TYPE; -MODULE_PARM(isp16_cdrom_base, "i"); -MODULE_PARM(isp16_cdrom_irq, "i"); -MODULE_PARM(isp16_cdrom_dma, "i"); -MODULE_PARM(isp16_cdrom_type, "s"); +PARAM(isp16_cdrom_base, int, 000); +PARAM(isp16_cdrom_irq, int, 000); +PARAM(isp16_cdrom_dma, int, 000); +PARAM(isp16_cdrom_type, charp, 000); #ifdef MODULE void isp16_exit(void); @@ -80,30 +80,6 @@ void isp16_exit(void); #define ISP16_IN(p) (outb(isp16_ctrl,ISP16_CTRL_PORT), inb(p)) #define ISP16_OUT(p,b) (outb(isp16_ctrl,ISP16_CTRL_PORT), outb(b,p)) -#ifndef MODULE - -static int -__init isp16_setup(char *str) -{ - int ints[4]; - - (void) get_options(str, ARRAY_SIZE(ints), ints); - if (ints[0] > 0) - isp16_cdrom_base = ints[1]; - if (ints[0] > 1) - isp16_cdrom_irq = ints[2]; - if (ints[0] > 2) - isp16_cdrom_dma = ints[3]; - if (str) - isp16_cdrom_type = str; - - return 1; -} - -__setup("isp16=", isp16_setup); - -#endif /* MODULE */ - /* * ISP16 initialisation. * diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/mcd.c .14440-linux-2.5.36.updated/drivers/cdrom/mcd.c --- .14440-linux-2.5.36/drivers/cdrom/mcd.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/mcd.c 2002-09-18 18:39:10.000000000 +1000 @@ -155,7 +155,7 @@ int mitsumi_bug_93_wait; static short mcd_port = CONFIG_MCD_BASE; /* used as "mcd" by "insmod" */ static int mcd_irq = CONFIG_MCD_IRQ; /* must directly follow mcd_port */ -MODULE_PARM(mcd, "1-2i"); +PARAM(mcd, short, 000); static int McdTimeout, McdTries; static DECLARE_WAIT_QUEUE_HEAD(mcd_waitq); @@ -221,27 +221,6 @@ static struct cdrom_device_info mcd_info name:"mcd", }; -#ifndef MODULE -static int __init mcd_setup(char *str) -{ - int ints[9]; - - (void) get_options(str, ARRAY_SIZE(ints), ints); - - if (ints[0] > 0) - mcd_port = ints[1]; - if (ints[0] > 1) - mcd_irq = ints[2]; - if (ints[0] > 2) - mitsumi_bug_93_wait = ints[3]; - - return 1; -} - -__setup("mcd=", mcd_setup); - -#endif /* MODULE */ - static int mcd_media_changed(struct cdrom_device_info *cdi, int disc_nr) { return 0; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/mcdx.c .14440-linux-2.5.36.updated/drivers/cdrom/mcdx.c --- .14440-linux-2.5.36/drivers/cdrom/mcdx.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/mcdx.c 2002-09-18 19:06:35.000000000 +1000 @@ -291,7 +291,7 @@ static struct s_drive_stuff *mcdx_irq_ma 0, 0, 0, 0, 0, 0, 0, 0 }; static spinlock_t mcdx_lock = SPIN_LOCK_UNLOCKED; -MODULE_PARM(mcdx, "1-4i"); +PARAM_ARRAY(mcdx, mcdx, int, 1, 4, 000); static struct cdrom_device_ops mcdx_dops = { open:mcdx_open, @@ -790,23 +790,6 @@ static int mcdx_media_changed(struct cdr return 1; } -#ifndef MODULE -static int __init mcdx_setup(char *str) -{ - int pi[4]; - (void) get_options(str, ARRAY_SIZE(pi), pi); - - if (pi[0] > 0) - mcdx_drive_map[0][0] = pi[1]; - if (pi[0] > 1) - mcdx_drive_map[0][1] = pi[2]; - return 1; -} - -__setup("mcdx=", mcdx_setup); - -#endif - /* DIRTY PART ******************************************************/ static void mcdx_delay(struct s_drive_stuff *stuff, long jifs) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/optcd.c .14440-linux-2.5.36.updated/drivers/cdrom/optcd.c --- .14440-linux-2.5.36/drivers/cdrom/optcd.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/optcd.c 2002-09-18 18:39:10.000000000 +1000 @@ -116,7 +116,7 @@ static void debug(int debug_this, const #define optcd_port optcd /* Needed for the modutils. */ static short optcd_port = OPTCD_PORTBASE; /* I/O base of drive. */ -MODULE_PARM(optcd_port, "h"); +PARAM(optcd_port, short, 000); /* Drive registers, read */ #define DATA_PORT optcd_port /* Read data/status */ #define STATUS_PORT optcd_port+1 /* Indicate data/status availability */ @@ -1980,23 +1980,6 @@ static struct block_device_operations op check_media_change: opt_media_change, }; -#ifndef MODULE -/* Get kernel parameter when used as a kernel driver */ -static int optcd_setup(char *str) -{ - int ints[4]; - (void)get_options(str, ARRAY_SIZE(ints), ints); - - if (ints[0] > 0) - optcd_port = ints[1]; - - return 1; -} - -__setup("optcd=", optcd_setup); - -#endif /* MODULE */ - /* Test for presence of drive and initialize it. Called at boot time or during module initialisation. */ int __init optcd_init(void) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/sbpcd.c .14440-linux-2.5.36.updated/drivers/cdrom/sbpcd.c --- .14440-linux-2.5.36/drivers/cdrom/sbpcd.c 2002-09-18 16:03:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/sbpcd.c 2002-09-18 19:05:24.000000000 +1000 @@ -457,8 +457,8 @@ static int sbpcd[] = */ static spinlock_t sbpcd_lock __cacheline_aligned = SPIN_LOCK_UNLOCKED; -MODULE_PARM(sbpcd, "2i"); -MODULE_PARM(max_drives, "i"); +PARAM_ARRAY(sbpcd, sbpcd, int, 2, 2, 000); +PARAM(max_drives, int, 000); #define NUM_PROBE (sizeof(sbpcd) / sizeof(int)) @@ -546,6 +546,7 @@ static unsigned char msgnum; static char msgbuf[80]; static int max_drives = MAX_DRIVES; +PARAM(max_drives, int, 000); #ifndef MODULE static unsigned char setup_done; static const char *str_sb_l = "soundblaster"; @@ -5529,9 +5530,6 @@ int sbpcd_setup(char *s) return 1; } -__setup("sbpcd=", sbpcd_setup); - - /*==========================================================================*/ /* * Sequoia S-1000 CD-ROM Interface Configuration diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/sjcd.c .14440-linux-2.5.36.updated/drivers/cdrom/sjcd.c --- .14440-linux-2.5.36/drivers/cdrom/sjcd.c 2002-08-02 11:15:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/sjcd.c 2002-09-18 18:39:10.000000000 +1000 @@ -115,7 +115,7 @@ static struct sjcd_play_msf sjcd_playing static int sjcd_base = SJCD_BASE_ADDR; -MODULE_PARM(sjcd_base, "i"); +PARAM(sjcd_base, int, 000); static DECLARE_WAIT_QUEUE_HEAD(sjcd_waitq); @@ -162,25 +162,6 @@ static struct timer_list sjcd_delay_time static int sjcd_cleanup(void); /* - * Set up device, i.e., use command line data to set - * base address. - */ -#ifndef MODULE -static int __init sjcd_setup(char *str) -{ - int ints[2]; - (void) get_options(str, ARRAY_SIZE(ints), ints); - if (ints[0] > 0) - sjcd_base = ints[1]; - - return 1; -} - -__setup("sjcd=", sjcd_setup); - -#endif - -/* * Special converters. */ static unsigned char bin2bcd(int bin) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/cdrom/sonycd535.c .14440-linux-2.5.36.updated/drivers/cdrom/sonycd535.c --- .14440-linux-2.5.36/drivers/cdrom/sonycd535.c 2002-08-11 15:31:34.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/cdrom/sonycd535.c 2002-09-18 18:39:10.000000000 +1000 @@ -208,7 +208,7 @@ static int do_sony_cmd(Byte * cmd, int n /* The base I/O address of the Sony Interface. This is a variable (not a #define) so it can be easily changed via some future ioctl() */ static unsigned int sony535_cd_base_io = CDU535_ADDRESS; -MODULE_PARM(sony535_cd_base_io, "i"); +PARAM(sony535_cd_base_io, int, 000); /* * The following are I/O addresses of the various registers for the drive. The @@ -1652,41 +1652,6 @@ sony535_init(void) return 0; } -#ifndef MODULE - -/* - * accept "kernel command line" parameters - * (added by emoenke@gwdg.de) - * - * use: tell LILO: - * sonycd535=0x320 - * - * the address value has to be the existing CDROM port address. - */ -static int __init -sonycd535_setup(char *strings) -{ - int ints[3]; - (void)get_options(strings, ARRAY_SIZE(ints), ints); - /* if IRQ change and default io base desired, - * then call with io base of 0 - */ - if (ints[0] > 0) - if (ints[1] != 0) - sony535_cd_base_io = ints[1]; - if (ints[0] > 1) - sony535_irq_used = ints[2]; - if ((strings != NULL) && (*strings != '\0')) - printk(CDU535_MESSAGE_NAME - ": Warning: Unknown interface type: %s\n", strings); - - return 1; -} - -__setup("sonycd535=", sonycd535_setup); - -#endif /* MODULE */ - void __exit sony535_exit(void) { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/applicom.c .14440-linux-2.5.36.updated/drivers/char/applicom.c --- .14440-linux-2.5.36/drivers/char/applicom.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/applicom.c 2002-09-18 18:39:10.000000000 +1000 @@ -86,9 +86,9 @@ MODULE_DEVICE_TABLE(pci, applicom_pci_tb MODULE_AUTHOR("David Woodhouse & Applicom International"); MODULE_DESCRIPTION("Driver for Applicom Profibus card"); MODULE_LICENSE("GPL"); -MODULE_PARM(irq, "i"); +PARAM(irq, int, 000); MODULE_PARM_DESC(irq, "IRQ of the Applicom board"); -MODULE_PARM(mem, "i"); +PARAM(mem, int, 000); MODULE_PARM_DESC(mem, "Shared Memory Address of Applicom board"); MODULE_SUPPORTED_DEVICE("ac"); @@ -839,29 +839,3 @@ static int ac_ioctl(struct inode *inode, kfree(adgl); return 0; } - -#ifndef MODULE -static int __init applicom_setup(char *str) -{ - int ints[4]; - - (void) get_options(str, 4, ints); - - if (ints[0] > 2) { - printk(KERN_WARNING "Too many arguments to 'applicom=', expected mem,irq only.\n"); - } - - if (ints[0] < 2) { - printk(KERN_INFO"applicom numargs: %d\n", ints[0]); - return 0; - } - - mem = ints[1]; - irq = ints[2]; - return 1; -} - -__setup("applicom=", applicom_setup); - -#endif /* MODULE */ - diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/atarimouse.c .14440-linux-2.5.36.updated/drivers/char/atarimouse.c --- .14440-linux-2.5.36/drivers/char/atarimouse.c 2001-09-15 07:04:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/atarimouse.c 2002-09-18 18:39:10.000000000 +1000 @@ -34,7 +34,7 @@ static int msedev; static int mouse_threshold[2] = {2,2}; -MODULE_PARM(mouse_threshold, "2i"); +PARAM_ARRAY(mouse_threshold, mouse_threshold, int, 2, 2, S_IRUGO); extern int atari_mouse_buttons; static void atari_mouse_interrupt(char *buf) @@ -85,46 +85,6 @@ static int __init atari_mouse_init(void) return msedev < 0 ? msedev : 0; } - -#ifndef MODULE - -#define MIN_THRESHOLD 1 -#define MAX_THRESHOLD 20 /* more seems not reasonable... */ - -static int __init atari_mouse_setup( char *str ) -{ - int ints[8]; - - str = get_options(str, ARRAY_SIZE(ints), ints); - - if (ints[0] < 1) { - printk(KERN_ERR "atari_mouse_setup: no arguments!\n" ); - return 0; - } - else if (ints[0] > 2) { - printk(KERN_WARNING "atari_mouse_setup: too many arguments\n" ); - } - - if (ints[1] < MIN_THRESHOLD || ints[1] > MAX_THRESHOLD) - printk(KERN_WARNING "atari_mouse_setup: bad threshold value (ignored)\n" ); - else { - mouse_threshold[0] = ints[1]; - mouse_threshold[1] = ints[1]; - if (ints[0] > 1) { - if (ints[2] < MIN_THRESHOLD || ints[2] > MAX_THRESHOLD) - printk(KERN_WARNING "atari_mouse_setup: bad threshold value (ignored)\n" ); - else - mouse_threshold[1] = ints[2]; - } - } - - return 1; -} - -__setup("atarimouse=",atari_mouse_setup); - -#endif /* !MODULE */ - static void __exit atari_mouse_cleanup (void) { unregister_busmouse(msedev); @@ -133,4 +93,4 @@ static void __exit atari_mouse_cleanup ( module_init(atari_mouse_init); module_exit(atari_mouse_cleanup); -MODULE_LICENSE("GPL"); \ No newline at end of file +MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/cyclades.c .14440-linux-2.5.36.updated/drivers/char/cyclades.c --- .14440-linux-2.5.36/drivers/char/cyclades.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/cyclades.c 2002-09-18 18:39:10.000000000 +1000 @@ -744,8 +744,8 @@ static unsigned char *cy_isa_addresses[] static long maddr[NR_CARDS] = { 0, }; static int irq[NR_CARDS] = { 0, }; -MODULE_PARM(maddr, "1-" __MODULE_STRING(NR_CARDS) "l"); -MODULE_PARM(irq, "1-" __MODULE_STRING(NR_CARDS) "i"); +PARAM_ARRAY(maddr, maddr, long, 1, NR_CARDS, 000); +PARAM_ARRAY(irq, irq, int, 1, NR_CARDS, 000); #endif #endif /* CONFIG_ISA */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/drm/drm_drv.h .14440-linux-2.5.36.updated/drivers/char/drm/drm_drv.h --- .14440-linux-2.5.36/drivers/char/drm/drm_drv.h 2002-09-01 12:23:00.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/drm/drm_drv.h 2002-09-18 18:39:10.000000000 +1000 @@ -233,7 +233,7 @@ static char *drm_opts = NULL; MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); -MODULE_PARM( drm_opts, "s" ); +PARAM(drm_opts, charp, S_IRUGO); MODULE_LICENSE("GPL and additional rights"); static int DRM(setup)( drm_device_t *dev ) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/drm/ffb_drv.c .14440-linux-2.5.36.updated/drivers/char/drm/ffb_drv.c --- .14440-linux-2.5.36/drivers/char/drm/ffb_drv.c 2001-10-22 15:51:06.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/drm/ffb_drv.c 2002-09-18 18:39:10.000000000 +1000 @@ -372,25 +372,6 @@ static int ffb_presetup(drm_device_t *de return ret; } -#ifndef MODULE -/* DRM(options) is called by the kernel to parse command-line options - * passed via the boot-loader (e.g., LILO). It calls the insmod option - * routine, drm_parse_drm. - */ - -/* JH- We have to hand expand the string ourselves because of the cpp. If - * anyone can think of a way that we can fit into the __setup macro without - * changing it, then please send the solution my way. - */ -static int __init ffb_options(char *str) -{ - DRM(parse_options)(str); - return 1; -} - -__setup(DRIVER_NAME "=", ffb_options); -#endif - #include "drm_fops.h" #include "drm_init.h" #include "drm_ioctl.h" diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/esp.c .14440-linux-2.5.36.updated/drivers/char/esp.c --- .14440-linux-2.5.36/drivers/char/esp.c 2002-06-01 09:46:03.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/esp.c 2002-09-18 18:39:10.000000000 +1000 @@ -84,15 +84,15 @@ static unsigned int pio_threshold = ESP_ MODULE_LICENSE("GPL"); -MODULE_PARM(irq, "1-8i"); -MODULE_PARM(divisor, "1-8i"); -MODULE_PARM(dma, "i"); -MODULE_PARM(rx_trigger, "i"); -MODULE_PARM(tx_trigger, "i"); -MODULE_PARM(flow_off, "i"); -MODULE_PARM(flow_on, "i"); -MODULE_PARM(rx_timeout, "i"); -MODULE_PARM(pio_threshold, "i"); +PARAM_ARRAY(irq, irq, int, 1, 8, 000); +PARAM_ARRAY(divisor, divisor, int, 1, 8, 000); +PARAM(dma, int, 000); +PARAM(rx_trigger, int, 000); +PARAM(tx_trigger, int, 000); +PARAM(flow_off, int, 000); +PARAM(flow_on, int, 000); +PARAM(rx_timeout, int, 000); +PARAM(pio_threshold, int, 000); /* END */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/eurotechwdt.c .14440-linux-2.5.36.updated/drivers/char/eurotechwdt.c --- .14440-linux-2.5.36/drivers/char/eurotechwdt.c 2002-05-25 10:58:18.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/eurotechwdt.c 2002-09-18 18:39:10.000000000 +1000 @@ -88,42 +88,11 @@ MODULE_PARM_DESC(nowayout, "Watchdog can #define WDT_TIMEOUT_VAL 0xf2 #define WDT_TIMER_CFG 0xf3 - -#ifndef MODULE - -/** - * eurwdt_setup: - * @str: command line string - * - * Setup options. The board isn't really probe-able so we have to - * get the user to tell us the configuration. Sane people build it - * modular but the others come here. - */ - -static int __init eurwdt_setup(char *str) -{ - int ints[4]; - - str = get_options (str, ARRAY_SIZE(ints), ints); - - if (ints[0] > 0) { - io = ints[1]; - if (ints[0] > 1) - irq = ints[2]; - } - - return 1; -} - -__setup("wdt=", eurwdt_setup); - -#endif /* !MODULE */ - -MODULE_PARM(io, "i"); +PARAM(io, int, 000); MODULE_PARM_DESC(io, "Eurotech WDT io port (default=0x3f0)"); -MODULE_PARM(irq, "i"); +PARAM(irq, int, 000); MODULE_PARM_DESC(irq, "Eurotech WDT irq (default=10)"); -MODULE_PARM(ev, "s"); +PARAM(ev, charp, 000); MODULE_PARM_DESC(ev, "Eurotech WDT event type (default is `reboot')"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/ftape/lowlevel/ftape-init.c .14440-linux-2.5.36.updated/drivers/char/ftape/lowlevel/ftape-init.c --- .14440-linux-2.5.36/drivers/char/ftape/lowlevel/ftape-init.c 2001-09-16 12:28:59.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/ftape/lowlevel/ftape-init.c 2002-09-18 18:39:10.000000000 +1000 @@ -134,18 +134,17 @@ static int ft_tracing = -1; #if LINUX_VERSION_CODE >= KERNEL_VER(2,1,18) #define FT_MOD_PARM(var,type,desc) \ - MODULE_PARM(var,type); MODULE_PARM_DESC(var,desc) - -FT_MOD_PARM(ft_fdc_base, "i", "Base address of FDC controller."); -FT_MOD_PARM(ft_fdc_irq, "i", "IRQ (interrupt channel) to use."); -FT_MOD_PARM(ft_fdc_dma, "i", "DMA channel to use."); -FT_MOD_PARM(ft_fdc_threshold, "i", "Threshold of the FDC Fifo."); -FT_MOD_PARM(ft_fdc_rate_limit, "i", "Maximal data rate for FDC."); -FT_MOD_PARM(ft_probe_fc10, "i", + PARAM(var,type,000); MODULE_PARM_DESC(var,desc) +FT_MOD_PARM(ft_fdc_base, int, "Base address of FDC controller."); +FT_MOD_PARM(ft_fdc_irq, int, "IRQ (interrupt channel) to use."); +FT_MOD_PARM(ft_fdc_dma, int, "DMA channel to use."); +FT_MOD_PARM(ft_fdc_threshold, int, "Threshold of the FDC Fifo."); +FT_MOD_PARM(ft_fdc_rate_limit, int, "Maximal data rate for FDC."); +FT_MOD_PARM(ft_probe_fc10, int, "If non-zero, probe for a Colorado FC-10/FC-20 controller."); -FT_MOD_PARM(ft_mach2, "i", +FT_MOD_PARM(ft_mach2, int, "If non-zero, probe for a Mountain MACH-2 controller."); -FT_MOD_PARM(ft_tracing, "i", +FT_MOD_PARM(ft_tracing, int, "Amount of debugging output, 0 <= tracing <= 8, default 3."); MODULE_AUTHOR( "(c) 1993-1996 Bas Laarhoven (bas@vimec.nl), " diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/ftape/lowlevel/ftape-setup.c .14440-linux-2.5.36.updated/drivers/char/ftape/lowlevel/ftape-setup.c --- .14440-linux-2.5.36/drivers/char/ftape/lowlevel/ftape-setup.c 2002-02-20 17:55:24.000000000 +1100 +++ .14440-linux-2.5.36.updated/drivers/char/ftape/lowlevel/ftape-setup.c 2002-09-18 18:39:10.000000000 +1000 @@ -59,7 +59,7 @@ static struct param_table { { "mach2", &ft_mach2, CONFIG_FT_MACH2, 0, 1} }; -static int __init ftape_setup(char *str) +static int __init ftape_setup(char *str, struct kernel_param *kp) { int i; int param; @@ -104,7 +104,7 @@ static int __init ftape_setup(char *str) TRACE(ft_t_err, "botched ftape option"); } out: - TRACE_EXIT 1; + TRACE_EXIT 0; } -__setup("ftape=", ftape_setup); +PARAM_CALL(ftape, ftape_setup, NULL); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/generic_serial.c .14440-linux-2.5.36.updated/drivers/char/generic_serial.c --- .14440-linux-2.5.36/drivers/char/generic_serial.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/generic_serial.c 2002-09-18 18:39:10.000000000 +1000 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -56,7 +57,7 @@ static int gs_debug; #define RS_EVENT_WRITE_WAKEUP 1 -MODULE_PARM(gs_debug, "i"); +PARAM(gs_debug, int, 000); void gs_put_char(struct tty_struct * tty, unsigned char ch) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/i810-tco.c .14440-linux-2.5.36.updated/drivers/char/i810-tco.c --- .14440-linux-2.5.36/drivers/char/i810-tco.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/i810-tco.c 2002-09-18 19:17:41.000000000 +1000 @@ -67,7 +67,7 @@ static spinlock_t tco_lock; /* Guards th static int i810_margin = TIMER_MARGIN; /* steps of 0.6sec */ -MODULE_PARM (i810_margin, "i"); +PARAM (i810_margin, int, 000); MODULE_PARM_DESC(i810_margin, "Watchdog timeout in steps of 0.6sec, 3= KERNEL_VERSION(2,1,0) MODULE_AUTHOR("Doug McNash"); MODULE_DESCRIPTION("Computone IntelliPort Plus Driver"); - MODULE_PARM(irq,"1-"__MODULE_STRING(IP2_MAX_BOARDS) "i"); + PARAM_ARRAY(irq, irq, int, 1, IP2_MAX_BOARDS, 000); MODULE_PARM_DESC(irq,"Interrupts for IntelliPort Cards"); - MODULE_PARM(io,"1-"__MODULE_STRING(IP2_MAX_BOARDS) "i"); + PARAM_ARRAY(io, io, int, 1, IP2_MAX_BOARDS, 000); MODULE_PARM_DESC(io,"I/O ports for IntelliPort Cards"); - MODULE_PARM(poll_only,"1i"); + PARAM(poll_only, bool, 000); MODULE_PARM_DESC(poll_only,"Do not use card interrupts"); # endif /* LINUX_VERSION */ //====================================================================== -int -init_module(void) +static int +init(void) { int rc; @@ -78,74 +76,12 @@ ip2_init(void) } //====================================================================== -void -cleanup_module(void) +static void +cleanup(void) { } MODULE_LICENSE("GPL"); -#else // !MODULE - -#ifndef NULL -# define NULL ((void *) 0) -#endif - -/****************************************************************************** - * ip2_setup: - * str: kernel command line string - * - * Can't autoprobe the boards so user must specify configuration on - * kernel command line. Sane people build it modular but the others - * come here. - * - * Alternating pairs of io,irq for up to 4 boards. - * ip2=io0,irq0,io1,irq1,io2,irq2,io3,irq3 - * - * io=0 => No board - * io=1 => PCI - * io=2 => EISA - * else => ISA I/O address - * - * irq=0 or invalid for ISA will revert to polling mode - * - * Any value = -1, do not overwrite compiled in value. - * - ******************************************************************************/ -static int __init ip2_setup(char *str) -{ - int ints[10]; /* 4 boards, 2 parameters + 2 */ - int i, j; - - str = get_options (str, ARRAY_SIZE(ints), ints); - - for( i = 0, j = 1; i < 4; i++ ) { - if( j > ints[0] ) { - break; - } - if( ints[j] >= 0 ) { - io[i] = ints[j]; - } - j++; - if( j > ints[0] ) { - break; - } - if( ints[j] >= 0 ) { - irq[i] = ints[j]; - } - j++; - } - return 1; -} - -int -ip2_init(void) { - return ip2_loadmain(io,irq,(unsigned char *)fip_firm,sizeof(fip_firm)); -} - -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,13)) -__setup("ip2=", ip2_setup); -__initcall(ip2_init); -#endif - -#endif /* !MODULE */ +module_init(init); +module_exit(cleanup); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/isicom.c .14440-linux-2.5.36.updated/drivers/char/isicom.c --- .14440-linux-2.5.36/drivers/char/isicom.c 2002-06-18 02:18:28.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/isicom.c 2002-09-18 18:39:10.000000000 +1000 @@ -49,7 +49,7 @@ #include #include #include -#include +#include #include #include @@ -1927,9 +1927,9 @@ static int irq[4]; MODULE_AUTHOR("MultiTech"); MODULE_DESCRIPTION("Driver for the ISI series of cards by MultiTech"); MODULE_LICENSE("GPL"); -MODULE_PARM(io, "1-4i"); +PARAM_ARRAY(io, io, int, 1, 4, 000); MODULE_PARM_DESC(io, "I/O ports for the cards"); -MODULE_PARM(irq, "1-4i"); +PARAM_ARRAY(irq, irq, int, 1, 4, 000); MODULE_PARM_DESC(irq, "Interrupts for the cards"); int init_module(void) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/istallion.c .14440-linux-2.5.36.updated/drivers/char/istallion.c --- .14440-linux-2.5.36/drivers/char/istallion.c 2002-08-02 11:15:08.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/istallion.c 2002-09-18 18:39:10.000000000 +1000 @@ -389,13 +389,13 @@ MODULE_DESCRIPTION("Stallion Intelligent MODULE_LICENSE("GPL"); -MODULE_PARM(board0, "1-3s"); +PARAM_ARRAY(board0, board0, charp, 1, 3, S_IRUGO); MODULE_PARM_DESC(board0, "Board 0 config -> name[,ioaddr[,memaddr]"); -MODULE_PARM(board1, "1-3s"); +PARAM_ARRAY(board1, board1, charp, 1, 3, S_IRUGO); MODULE_PARM_DESC(board1, "Board 1 config -> name[,ioaddr[,memaddr]"); -MODULE_PARM(board2, "1-3s"); +PARAM_ARRAY(board2, board2, charp, 1, 3, S_IRUGO); MODULE_PARM_DESC(board2, "Board 2 config -> name[,ioaddr[,memaddr]"); -MODULE_PARM(board3, "1-3s"); +PARAM_ARRAY(board3, board3, charp, 1, 3, S_IRUGO); MODULE_PARM_DESC(board3, "Board 3 config -> name[,ioaddr[,memaddr]"); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/lp.c .14440-linux-2.5.36.updated/drivers/char/lp.c --- .14440-linux-2.5.36/drivers/char/lp.c 2002-09-18 16:03:59.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/lp.c 2002-09-18 18:39:10.000000000 +1000 @@ -755,40 +755,8 @@ static int parport_nr[LP_NO] = { [0 ... static char *parport[LP_NO] = { NULL, }; static int reset = 0; -MODULE_PARM(parport, "1-" __MODULE_STRING(LP_NO) "s"); -MODULE_PARM(reset, "i"); - -#ifndef MODULE -static int __init lp_setup (char *str) -{ - static int parport_ptr; // initially zero - int x; - - if (get_option (&str, &x)) { - if (x == 0) { - /* disable driver on "lp=" or "lp=0" */ - parport_nr[0] = LP_PARPORT_OFF; - } else { - printk(KERN_WARNING "warning: 'lp=0x%x' is deprecated, ignored\n", x); - return 0; - } - } else if (!strncmp(str, "parport", 7)) { - int n = simple_strtoul(str+7, NULL, 10); - if (parport_ptr < LP_NO) - parport_nr[parport_ptr++] = n; - else - printk(KERN_INFO "lp: too many ports, %s ignored.\n", - str); - } else if (!strcmp(str, "auto")) { - parport_nr[0] = LP_PARPORT_AUTO; - } else if (!strcmp(str, "none")) { - parport_nr[parport_ptr++] = LP_PARPORT_NONE; - } else if (!strcmp(str, "reset")) { - reset = 1; - } - return 1; -} -#endif +PARAM_ARRAY(parport, parport, charp, 1, LP_NO, S_IRUGO); +PARAM(reset, int, 000); static int lp_register(int nr, struct parport *port) { @@ -973,7 +941,6 @@ static void lp_cleanup_module (void) } } -__setup("lp=", lp_setup); module_init(lp_init_module); module_exit(lp_cleanup_module); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/machzwd.c .14440-linux-2.5.36.updated/drivers/char/machzwd.c --- .14440-linux-2.5.36/drivers/char/machzwd.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/machzwd.c 2002-09-18 18:39:10.000000000 +1000 @@ -102,7 +102,7 @@ static unsigned short zf_readb(unsigned MODULE_AUTHOR("Fernando Fuganti "); MODULE_DESCRIPTION("MachZ ZF-Logic Watchdog driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(action, "i"); +PARAM(action, int, 000); MODULE_PARM_DESC(action, "after watchdog resets, generate: 0 = RESET(*) 1 = SMI 2 = NMI 3 = SCI"); #ifdef CONFIG_WATCHDOG_NOWAYOUT diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/moxa.c .14440-linux-2.5.36.updated/drivers/char/moxa.c --- .14440-linux-2.5.36/drivers/char/moxa.c 2002-05-25 10:58:18.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/moxa.c 2002-09-18 18:39:10.000000000 +1000 @@ -50,6 +50,7 @@ #include #include #include +#include #include #include @@ -203,12 +204,12 @@ static int numports[] = {0, 0, 0, 0}; MODULE_AUTHOR("William Chen"); MODULE_DESCRIPTION("MOXA Intellio Family Multiport Board Device Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(type, "1-4i"); -MODULE_PARM(baseaddr, "1-4i"); -MODULE_PARM(numports, "1-4i"); -MODULE_PARM(ttymajor, "i"); -MODULE_PARM(calloutmajor, "i"); -MODULE_PARM(verbose, "i"); +PARAM_ARRAY(type, type, int, 1, 4, 000); +PARAM_ARRAY(baseaddr, baseaddr, int, 1, 4, 000); +PARAM_ARRAY(numports, numports, int, 1, 4, 000); +PARAM(ttymajor, int, 000); +PARAM(calloutmajor, int, 000); +PARAM(verbose, int, 000); #endif //MODULE diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/mwave/mwavedd.c .14440-linux-2.5.36.updated/drivers/char/mwave/mwavedd.c --- .14440-linux-2.5.36/drivers/char/mwave/mwavedd.c 2002-05-24 15:20:18.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/mwave/mwavedd.c 2002-09-18 18:39:11.000000000 +1000 @@ -103,11 +103,11 @@ int mwave_3780i_irq = 0; int mwave_3780i_io = 0; int mwave_uart_irq = 0; int mwave_uart_io = 0; -MODULE_PARM(mwave_debug, "i"); -MODULE_PARM(mwave_3780i_irq, "i"); -MODULE_PARM(mwave_3780i_io, "i"); -MODULE_PARM(mwave_uart_irq, "i"); -MODULE_PARM(mwave_uart_io, "i"); +PARAM(mwave_debug, int, 000); +PARAM(mwave_3780i_irq, int, 000); +PARAM(mwave_3780i_io, int, 000); +PARAM(mwave_uart_irq, int, 000); +PARAM(mwave_uart_io, int, 000); static int mwave_open(struct inode *inode, struct file *file); static int mwave_close(struct inode *inode, struct file *file); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/mxser.c .14440-linux-2.5.36.updated/drivers/char/mxser.c --- .14440-linux-2.5.36/drivers/char/mxser.c 2002-09-01 12:23:00.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/mxser.c 2002-09-18 18:39:11.000000000 +1000 @@ -57,6 +57,7 @@ #include #include #include +#include #include #include @@ -216,10 +217,10 @@ static int verbose; MODULE_AUTHOR("William Chen"); MODULE_DESCRIPTION("MOXA Smartio Family Multiport Board Device Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(ioaddr, "1-4i"); -MODULE_PARM(ttymajor, "i"); -MODULE_PARM(calloutmajor, "i"); -MODULE_PARM(verbose, "i"); +PARAM_ARRAY(ioaddr, ioaddr, int, 1, 4, 000); +PARAM(ttymajor, int, 000); +PARAM(calloutmajor, int, 000); +PARAM(verbose, int, 000); struct mxser_hwconf { int board_type; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/n_hdlc.c .14440-linux-2.5.36.updated/drivers/char/n_hdlc.c --- .14440-linux-2.5.36/drivers/char/n_hdlc.c 2002-05-25 10:58:18.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/n_hdlc.c 2002-09-18 18:39:11.000000000 +1000 @@ -179,10 +179,6 @@ N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LI static struct n_hdlc *n_hdlc_alloc (void); -MODULE_PARM(debuglevel, "i"); -MODULE_PARM(maxframe, "i"); - - /* debug level can be set by insmod for debugging purposes */ #define DEBUG_LEVEL_INFO 1 int debuglevel=0; @@ -190,6 +186,9 @@ int debuglevel=0; /* max frame size for memory allocations */ ssize_t maxframe=4096; +PARAM(debuglevel, int, 000); +PARAM(maxframe, int, 000); + /* TTY callbacks */ static rw_ret_t n_hdlc_tty_read(struct tty_struct *, diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/nwflash.c .14440-linux-2.5.36.updated/drivers/char/nwflash.c --- .14440-linux-2.5.36/drivers/char/nwflash.c 2002-05-25 10:58:19.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/nwflash.c 2002-09-18 18:39:11.000000000 +1000 @@ -704,7 +704,7 @@ static void __exit nwflash_exit(void) MODULE_LICENSE("GPL"); -MODULE_PARM(flashdebug, "i"); +PARAM(flashdebug, int, 000); module_init(nwflash_init); module_exit(nwflash_exit); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/pcxx.c .14440-linux-2.5.36.updated/drivers/char/pcxx.c --- .14440-linux-2.5.36/drivers/char/pcxx.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/pcxx.c 2002-09-18 18:39:11.000000000 +1000 @@ -114,13 +114,13 @@ static int numports[] = {0, 0, 0, 0} MODULE_AUTHOR("Bernhard Kaindl"); MODULE_DESCRIPTION("Digiboard PC/X{i,e,eve} driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(verbose, "i"); -MODULE_PARM(debug, "i"); -MODULE_PARM(io, "1-4i"); -MODULE_PARM(membase, "1-4i"); -MODULE_PARM(memsize, "1-4i"); -MODULE_PARM(altpin, "1-4i"); -MODULE_PARM(numports, "1-4i"); +PARAM(verbose, int, 000); +PARAM(debug, int, 000); +PARAM_ARRAY(io, io, int, 1, 4, 000); +PARAM_ARRAY(membase, membase, int, 1, 4, 000); +PARAM_ARRAY(memsize, memsize, int, 1, 4, 000); +PARAM_ARRAY(altpin, altpin, int, 1, 4, 000); +PARAM_ARRAY(numports, numports, int, 1, 4, 000); # endif #endif MODULE diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/rio/rio_linux.c .14440-linux-2.5.36.updated/drivers/char/rio/rio_linux.c --- .14440-linux-2.5.36/drivers/char/rio/rio_linux.c 2002-05-29 16:36:36.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/rio/rio_linux.c 2002-09-18 18:39:11.000000000 +1000 @@ -252,9 +252,9 @@ long rio_irqmask = -1; MODULE_AUTHOR("Rogier Wolff , Patrick van de Lageweg "); MODULE_DESCRIPTION("RIO driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(rio_poll, "i"); -MODULE_PARM(rio_debug, "i"); -MODULE_PARM(rio_irqmask, "i"); +PARAM(rio_poll, int, 000); +PARAM(rio_debug, int, 000); +PARAM(rio_irqmask, long, 000); #endif static struct real_driver rio_real_driver = { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/riscom8.c .14440-linux-2.5.36.updated/drivers/char/riscom8.c --- .14440-linux-2.5.36/drivers/char/riscom8.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/riscom8.c 2002-09-18 18:39:11.000000000 +1000 @@ -1847,7 +1847,7 @@ static void rc_release_drivers(void) * addresses in this case. * */ -static int __init riscom8_setup(char *str) +static int __init riscom8_setup(char *str, struct kernel_param *kp) { int ints[RC_NBOARD]; int i; @@ -1863,7 +1863,7 @@ static int __init riscom8_setup(char *st return 1; } -__setup("riscom8=", riscom8_setup); +PARAM_CALL(riscom8, riscom8_setup, NULL); #endif static char banner[] __initdata = @@ -1902,10 +1902,10 @@ static int iobase; static int iobase1; static int iobase2; static int iobase3; -MODULE_PARM(iobase, "i"); -MODULE_PARM(iobase1, "i"); -MODULE_PARM(iobase2, "i"); -MODULE_PARM(iobase3, "i"); +PARAM(iobase, int, 000); +PARAM(iobase1, int, 000); +PARAM(iobase2, int, 000); +PARAM(iobase3, int, 000); MODULE_LICENSE("GPL"); #endif /* MODULE */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/rocket.c .14440-linux-2.5.36.updated/drivers/char/rocket.c --- .14440-linux-2.5.36/drivers/char/rocket.c 2002-08-02 11:15:08.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/rocket.c 2002-09-18 18:39:11.000000000 +1000 @@ -146,17 +146,17 @@ static unsigned long time_counter; MODULE_AUTHOR("Theodore Ts'o"); MODULE_DESCRIPTION("Comtrol Rocketport driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(board1, "i"); +PARAM(board1, ulong, 000); MODULE_PARM_DESC(board1, "I/O port for (ISA) board #1"); -MODULE_PARM(board2, "i"); +PARAM(board2, ulong, 000); MODULE_PARM_DESC(board2, "I/O port for (ISA) board #2"); -MODULE_PARM(board3, "i"); +PARAM(board3, ulong, 000); MODULE_PARM_DESC(board3, "I/O port for (ISA) board #3"); -MODULE_PARM(board4, "i"); +PARAM(board4, ulong, 000); MODULE_PARM_DESC(board4, "I/O port for (ISA) board #4"); -MODULE_PARM(controller, "i"); +PARAM(controller, ulong, 000); MODULE_PARM_DESC(controller, "I/O port for (ISA) rocketport controller"); -MODULE_PARM(support_low_speed, "i"); +PARAM(support_low_speed, ulong, 000); MODULE_PARM_DESC(support_low_speed, "0 means support 50 baud, 1 means support 460400 baud"); #include diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/sh-sci.c .14440-linux-2.5.36.updated/drivers/char/sh-sci.c --- .14440-linux-2.5.36/drivers/char/sh-sci.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/sh-sci.c 2002-09-18 18:39:11.000000000 +1000 @@ -89,7 +89,7 @@ static int sci_refcount; static int sci_debug = 0; #ifdef MODULE -MODULE_PARM(sci_debug, "i"); +PARAM(sci_debug, int, 000); #endif #define dprintk(x...) do { if (sci_debug) printk(x); } while(0) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/softdog.c .14440-linux-2.5.36.updated/drivers/char/softdog.c --- .14440-linux-2.5.36/drivers/char/softdog.c 2002-04-04 14:48:21.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/softdog.c 2002-09-18 19:16:55.000000000 +1000 @@ -49,7 +49,7 @@ static int soft_margin = TIMER_MARGIN; /* in seconds */ -MODULE_PARM(soft_margin,"i"); +PARAM(soft_margin, int, 000); #ifdef CONFIG_WATCHDOG_NOWAYOUT static int nowayout = 1; @@ -57,7 +57,7 @@ static int nowayout = 1; static int nowayout = 0; #endif -MODULE_PARM(nowayout,"i"); +PARAM(nowayout, int, 000); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=CONFIG_WATCHDOG_NOWAYOUT)"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/sonypi.c .14440-linux-2.5.36.updated/drivers/char/sonypi.c --- .14440-linux-2.5.36/drivers/char/sonypi.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/sonypi.c 2002-09-18 19:16:39.000000000 +1000 @@ -778,36 +778,6 @@ static void __exit sonypi_cleanup_module sonypi_remove(); } -#ifndef MODULE -static int __init sonypi_setup(char *str) { - int ints[7]; - - str = get_options(str, ARRAY_SIZE(ints), ints); - if (ints[0] <= 0) - goto out; - minor = ints[1]; - if (ints[0] == 1) - goto out; - verbose = ints[2]; - if (ints[0] == 2) - goto out; - fnkeyinit = ints[3]; - if (ints[0] == 3) - goto out; - camera = ints[4]; - if (ints[0] == 4) - goto out; - compat = ints[5]; - if (ints[0] == 5) - goto out; - nojogdial = ints[6]; -out: - return 1; -} - -__setup("sonypi=", sonypi_setup); -#endif /* !MODULE */ - /* Module entry points */ module_init(sonypi_init_module); module_exit(sonypi_cleanup_module); @@ -817,17 +787,17 @@ MODULE_DESCRIPTION("Sony Programmable I/ MODULE_LICENSE("GPL"); -MODULE_PARM(minor,"i"); +PARAM(minor, int, 000); MODULE_PARM_DESC(minor, "minor number of the misc device, default is -1 (automatic)"); -MODULE_PARM(verbose,"i"); +PARAM(verbose, int, 000); MODULE_PARM_DESC(verbose, "be verbose, default is 0 (no)"); -MODULE_PARM(fnkeyinit,"i"); +PARAM(fnkeyinit, int, 000); MODULE_PARM_DESC(fnkeyinit, "set this if your Fn keys do not generate any event"); -MODULE_PARM(camera,"i"); +PARAM(camera, int, 000); MODULE_PARM_DESC(camera, "set this if you have a MotionEye camera (PictureBook series)"); -MODULE_PARM(compat,"i"); +PARAM(compat, bool, 000); MODULE_PARM_DESC(compat, "set this if you want to enable backward compatibility mode"); -MODULE_PARM(nojogdial, "i"); +PARAM(nojogdial, int, 000); MODULE_PARM_DESC(nojogdial, "set this if you have a Vaio without a jogdial (like the fx series)"); EXPORT_SYMBOL(sonypi_camera_command); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/specialix.c .14440-linux-2.5.36.updated/drivers/char/specialix.c --- .14440-linux-2.5.36/drivers/char/specialix.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/specialix.c 2002-09-18 18:39:11.000000000 +1000 @@ -93,6 +93,7 @@ #include #include #include +#include /* ************************************************************** */ @@ -2402,8 +2403,8 @@ int iobase[SX_NBOARD] = {0,}; int irq [SX_NBOARD] = {0,}; -MODULE_PARM(iobase,"1-" __MODULE_STRING(SX_NBOARD) "i"); -MODULE_PARM(irq,"1-" __MODULE_STRING(SX_NBOARD) "i"); +PARAM_ARRAY(iobase, iobase, int, 1, SX_NBOARD, 000); +PARAM_ARRAY(irq, irq, int, 1, SX_NBOARD, 000); /* * You can setup up to 4 boards. diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/stallion.c .14440-linux-2.5.36.updated/drivers/char/stallion.c --- .14440-linux-2.5.36/drivers/char/stallion.c 2002-08-02 11:15:08.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/stallion.c 2002-09-18 18:39:11.000000000 +1000 @@ -321,13 +321,13 @@ MODULE_AUTHOR("Greg Ungerer"); MODULE_DESCRIPTION("Stallion Multiport Serial Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(board0, "1-4s"); +PARAM_ARRAY(board0, board0, charp, 1, 4, S_IRUGO); MODULE_PARM_DESC(board0, "Board 0 config -> name[,ioaddr[,ioaddr2][,irq]]"); -MODULE_PARM(board1, "1-4s"); +PARAM_ARRAY(board1, board1, charp, 1, 4, S_IRUGO); MODULE_PARM_DESC(board1, "Board 1 config -> name[,ioaddr[,ioaddr2][,irq]]"); -MODULE_PARM(board2, "1-4s"); +PARAM_ARRAY(board2, board2, charp, 1, 4, S_IRUGO); MODULE_PARM_DESC(board2, "Board 2 config -> name[,ioaddr[,ioaddr2][,irq]]"); -MODULE_PARM(board3, "1-4s"); +PARAM_ARRAY(board3, board3, charp, 1, 4, S_IRUGO); MODULE_PARM_DESC(board3, "Board 3 config -> name[,ioaddr[,ioaddr2][,irq]]"); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/sx.c .14440-linux-2.5.36.updated/drivers/char/sx.c --- .14440-linux-2.5.36/drivers/char/sx.c 2002-05-24 15:20:17.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/sx.c 2002-09-18 18:39:11.000000000 +1000 @@ -362,13 +362,13 @@ static int si_probe_addrs[]= {0xc0000, 0 Some architectures may need more. */ static int sx_irqmask = -1; -MODULE_PARM(sx_probe_addrs, "i"); -MODULE_PARM(si_probe_addrs, "i"); -MODULE_PARM(sx_poll, "i"); -MODULE_PARM(sx_slowpoll, "i"); -MODULE_PARM(sx_maxints, "i"); -MODULE_PARM(sx_debug, "i"); -MODULE_PARM(sx_irqmask, "i"); +PARAM_NAMED(sx_probe_addrs, sx_probe_addrs[0], int, 000); +PARAM_NAMED(si_probe_addrs, si_probe_addrs[0], int, 000); +PARAM(sx_poll, int, 000); +PARAM(sx_slowpoll, int, 000); +PARAM(sx_maxints, int, 000); +PARAM(sx_debug, int, 000); +PARAM(sx_irqmask, int, 000); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/synclink.c .14440-linux-2.5.36.updated/drivers/char/synclink.c --- .14440-linux-2.5.36/drivers/char/synclink.c 2002-05-25 10:58:19.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/synclink.c 2002-09-18 18:39:11.000000000 +1000 @@ -904,17 +904,17 @@ static int dosyncppp[MAX_TOTAL_DEVICES]; static int txdmabufs[MAX_TOTAL_DEVICES]; static int txholdbufs[MAX_TOTAL_DEVICES]; -MODULE_PARM(break_on_load,"i"); -MODULE_PARM(ttymajor,"i"); -MODULE_PARM(cuamajor,"i"); -MODULE_PARM(io,"1-" __MODULE_STRING(MAX_ISA_DEVICES) "i"); -MODULE_PARM(irq,"1-" __MODULE_STRING(MAX_ISA_DEVICES) "i"); -MODULE_PARM(dma,"1-" __MODULE_STRING(MAX_ISA_DEVICES) "i"); -MODULE_PARM(debug_level,"i"); -MODULE_PARM(maxframe,"1-" __MODULE_STRING(MAX_TOTAL_DEVICES) "i"); -MODULE_PARM(dosyncppp,"1-" __MODULE_STRING(MAX_TOTAL_DEVICES) "i"); -MODULE_PARM(txdmabufs,"1-" __MODULE_STRING(MAX_TOTAL_DEVICES) "i"); -MODULE_PARM(txholdbufs,"1-" __MODULE_STRING(MAX_TOTAL_DEVICES) "i"); +PARAM(break_on_load, int, 000); +PARAM(ttymajor, int, 000); +PARAM(cuamajor, int, 000); +PARAM_ARRAY(io, io, int, 1, MAX_ISA_DEVICES, 000); +PARAM_ARRAY(irq, irq, int, 1, MAX_ISA_DEVICES, 000); +PARAM_ARRAY(dma, dma, int, 1, MAX_ISA_DEVICES, 000); +PARAM(debug_level, int, 000); +PARAM_ARRAY(maxframe, maxframe, int, 1, MAX_TOTAL_DEVICES, 000); +PARAM_ARRAY(dosyncppp, dosyncppp, int, 1, MAX_TOTAL_DEVICES, 000); +PARAM_ARRAY(txdmabufs, txdmabufs, int, 1, MAX_TOTAL_DEVICES, 000); +PARAM_ARRAY(txholdbufs, txholdbufs, int, 1, MAX_TOTAL_DEVICES, 000); static char *driver_name = "SyncLink serial driver"; static char *driver_version = "$Revision: 4.2 $"; @@ -3121,8 +3121,11 @@ int mgsl_ioctl_common(struct mgsl_struct case MGSL_IOCLOOPTXDONE: return mgsl_loopmode_send_done(info); case MGSL_IOCCLRMODCOUNT: - while(MOD_IN_USE) - MOD_DEC_USE_COUNT; +#ifdef CONFIG_MODULE_UNLOAD + /* This is totally evil --RR */ + while (atomic_read(&__this_module.use) != 1) + module_put(&__this_module); +#endif return 0; /* Wait for modem input (DCD,RI,DSR,CTS) change @@ -3329,8 +3332,7 @@ cleanup: if (debug_level >= DEBUG_LEVEL_INFO) printk("%s(%d):mgsl_close(%s) exit, count=%d\n", __FILE__,__LINE__, tty->driver.name, info->count); - if(MOD_IN_USE) - MOD_DEC_USE_COUNT; + MOD_DEC_USE_COUNT; } /* end of mgsl_close() */ @@ -3690,8 +3692,7 @@ static int mgsl_open(struct tty_struct * cleanup: if (retval) { - if(MOD_IN_USE) - MOD_DEC_USE_COUNT; + MOD_DEC_USE_COUNT; if(info->count) info->count--; } diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/toshiba.c .14440-linux-2.5.36.updated/drivers/char/toshiba.c --- .14440-linux-2.5.36/drivers/char/toshiba.c 2002-09-18 16:03:59.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/toshiba.c 2002-09-18 18:39:11.000000000 +1000 @@ -82,7 +82,7 @@ static int tosh_fan = 0; static int tosh_fn = 0; -MODULE_PARM(tosh_fn, "i"); +PARAM(tosh_fn, int, 000); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/wdt.c .14440-linux-2.5.36.updated/drivers/char/wdt.c --- .14440-linux-2.5.36/drivers/char/wdt.c 2002-05-25 10:58:19.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/wdt.c 2002-09-18 18:39:11.000000000 +1000 @@ -55,7 +55,7 @@ static unsigned long wdt_is_open; /* * You must set these - there is no sane way to probe for this board. - * You can use wdt=x,y to set these now. + * You can use wdt.io= and wdt.irq to set these now. */ static int io=0x240; @@ -83,40 +83,9 @@ wdt_validate_timeout(void) timeout_val = timeout * 100; } -#ifndef MODULE - -/** - * wdt_setup: - * @str: command line string - * - * Setup options. The board isn't really probe-able so we have to - * get the user to tell us the configuration. Sane people build it - * modular but the others come here. - */ - -static int __init wdt_setup(char *str) -{ - int ints[4]; - - str = get_options (str, ARRAY_SIZE(ints), ints); - - if (ints[0] > 0) - { - io = ints[1]; - if(ints[0] > 1) - irq = ints[2]; - } - - return 1; -} - -__setup("wdt=", wdt_setup); - -#endif /* !MODULE */ - -MODULE_PARM(io, "i"); +PARAM(io, int, 000); MODULE_PARM_DESC(io, "WDT io port (default=0x240)"); -MODULE_PARM(irq, "i"); +PARAM(irq, int, 000); MODULE_PARM_DESC(irq, "WDT irq (default=11)"); /* diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/char/wdt285.c .14440-linux-2.5.36.updated/drivers/char/wdt285.c --- .14440-linux-2.5.36/drivers/char/wdt285.c 2002-05-25 14:34:43.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/char/wdt285.c 2002-09-18 18:39:11.000000000 +1000 @@ -186,7 +186,7 @@ MODULE_AUTHOR("Phil Blundell 0) - { - io = ints[1]; - if(ints[0] > 1) - irq = ints[2]; - } - - return 1; -} - -__setup("wdt=", wdtpci_setup); - -#endif /* !MODULE */ +PARAM(io, int, S_IRUGO); +PARAM(irq, int, S_IRUGO); /* * Programming support diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/i2c/i2c-adap-ite.c .14440-linux-2.5.36.updated/drivers/i2c/i2c-adap-ite.c --- .14440-linux-2.5.36/drivers/i2c/i2c-adap-ite.c 2002-05-25 10:58:19.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/i2c/i2c-adap-ite.c 2002-09-18 18:39:11.000000000 +1000 @@ -299,11 +299,11 @@ MODULE_AUTHOR("MontaVista Software "); MODULE_DESCRIPTION("I2C-Bus main module"); -MODULE_PARM(i2c_debug, "i"); +PARAM(i2c_debug, int, 000); MODULE_PARM_DESC(i2c_debug,"debug level"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/i2c/i2c-elektor.c .14440-linux-2.5.36.updated/drivers/i2c/i2c-elektor.c --- .14440-linux-2.5.36/drivers/i2c/i2c-elektor.c 2002-08-28 09:29:45.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/i2c/i2c-elektor.c 2002-09-18 18:39:11.000000000 +1000 @@ -298,12 +298,11 @@ MODULE_AUTHOR("Hans Berglund = 0) - vals[n] = (vals[n] * 0x10) + i; - } - if (++n == max_vals) - break; - if (*s == ',' || *s == ';') - ++s; + } + /* + * Look for a series of no more than "max_vals" + * numeric values separated by commas, in base10, + * or base16 when prefixed with "0x". + * Return a count of how many were found. + */ + for (n = 0; (i = stridx(decimal, *s)) >= 0;) { + vals[n] = i; + while ((i = stridx(decimal, *++s)) >= 0) + vals[n] = (vals[n] * 10) + i; + if (*s == 'x' && !vals[n]) { + while ((i = stridx(hex, *++s)) >= 0) + vals[n] = (vals[n] * 0x10) + i; } - if (!*s) - return n; + if (++n == max_vals) + break; + if (*s == ',' || *s == ';') + ++s; } + if (!*s) + return n; return 0; /* zero = nothing matched */ } @@ -2803,7 +2801,7 @@ static int __init match_parm (char *s, c * "idex=dc4030" : probe/support Promise DC4030VL interface * "ide=doubler" : probe/support IDE doublers on Amiga */ -int __init ide_setup (char *s) +int __init ide_setup (char *s, struct kernel_param *kp) { int i, vals[3]; ide_hwif_t *hwif; @@ -2813,63 +2811,56 @@ int __init ide_setup (char *s) const char max_hwif = '0' + (MAX_HWIFS - 1); - if (strncmp(s,"hd",2) == 0 && s[2] == '=') /* hd= is for hd.c */ - return 0; /* driver and not us */ - - if (strncmp(s,"ide",3) && - strncmp(s,"idebus",6) && - strncmp(s,"hd",2)) /* hdx= & hdxlun= */ - return 0; - printk("ide_setup: %s", s); init_ide_data (); #ifdef CONFIG_BLK_DEV_IDEDOUBLER - if (!strcmp(s, "ide=doubler")) { + if (!strcmp(kp->name, "ide") && !strcmp(s, "doubler")) { extern int ide_doubler; printk(" : Enabled support for IDE doublers\n"); ide_doubler = 1; - return 1; + return 0; } #endif /* CONFIG_BLK_DEV_IDEDOUBLER */ - if (!strcmp(s, "ide=nodma")) { + if (!strcmp(kp->name, "ide") && !strcmp(s, "nodma")) { printk("IDE: Prevented DMA\n"); noautodma = 1; - return 1; + return 0; } #ifdef CONFIG_BLK_DEV_IDEPCI - if (!strcmp(s, "ide=reverse")) { + if (!strcmp(kp->name, "ide") && !strcmp(s, "reverse")) { ide_scan_direction = 1; printk(" : Enabled support for IDE inverse scan order.\n"); - return 1; + return 0; } #endif /* CONFIG_BLK_DEV_IDEPCI */ /* * Look for drive options: "hdx=" */ - if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) { + if (kp->name[0] == 'h' && kp->name[1] == 'd' + && kp->name[2] >= 'a' && kp->name[2] <= max_drive) { const char *hd_words[] = {"none", "noprobe", "nowerr", "cdrom", "serialize", "autotune", "noautotune", "slow", "swapdata", "bswap", "flash", "remap", "noremap", "scsi", NULL}; - unit = s[2] - 'a'; + unit = kp->name[2] - 'a'; hw = unit / MAX_DRIVES; unit = unit % MAX_DRIVES; hwif = &ide_hwifs[hw]; drive = &hwif->drives[unit]; - if (strncmp(s + 4, "ide-", 4) == 0) { - strncpy(drive->driver_req, s + 4, 9); + if (strncmp(s, "ide-", 4) == 0) { + strncpy(drive->driver_req, s, 9); goto done; } /* * Look for last lun option: "hdxlun=" */ - if (s[3] == 'l' && s[4] == 'u' && s[5] == 'n') { - if (match_parm(&s[6], NULL, vals, 1) != 1) + if (!strcmp(kp->name, "hdxlun")) { + if (match_parm(s, NULL, vals, 1) != 1) goto bad_option; if (vals[0] >= 0 && vals[0] <= 7) { drive->last_lun = vals[0]; @@ -2878,7 +2869,7 @@ int __init ide_setup (char *s) printk(" -- BAD LAST LUN! Expected value from 0 to 7"); goto done; } - switch (match_parm(&s[3], hd_words, vals, 3)) { + switch (match_parm(s, hd_words, vals, 3)) { case -1: /* "none" */ drive->nobios = 1; /* drop into "noprobe" */ case -2: /* "noprobe" */ @@ -2940,13 +2931,13 @@ int __init ide_setup (char *s) } } - if (s[0] != 'i' || s[1] != 'd' || s[2] != 'e') + if (kp->name[0] != 'i' || kp->name[1] != 'd' || kp->name[2] != 'e') goto bad_option; /* * Look for bus speed option: "idebus=" */ - if (s[3] == 'b' && s[4] == 'u' && s[5] == 's') { - if (match_parm(&s[6], NULL, vals, 1) != 1) + if (!strcmp(kp->name, "idebus")) { + if (match_parm(s, NULL, vals, 1) != 1) goto bad_option; if (vals[0] >= 20 && vals[0] <= 66) { idebus_parameter = vals[0]; @@ -2957,7 +2948,7 @@ int __init ide_setup (char *s) /* * Look for interface options: "idex=" */ - if (s[3] >= '0' && s[3] <= max_hwif) { + if (kp->name[3] >= '0' && kp->name[3] <= max_hwif) { /* * Be VERY CAREFUL changing this: note hardcoded indexes below * -8,-9,-10 : are reserved for future idex calls to ease the hardcoding. @@ -2966,9 +2957,9 @@ int __init ide_setup (char *s) "noprobe", "serialize", "autotune", "noautotune", "reset", "dma", "ata66", "minus8", "minus9", "minus10", "four", "qd65xx", "ht6560b", "cmd640_vlb", "dtc2278", "umc8672", "ali14xx", "dc4030", NULL }; - hw = s[3] - '0'; + hw = kp->name[3] - '0'; hwif = &ide_hwifs[hw]; - i = match_parm(&s[4], ide_words, vals, 3); + i = match_parm(s, ide_words, vals, 3); /* * Cryptic check to ensure chipset not already set for hwif: @@ -3105,17 +3096,17 @@ int __init ide_setup (char *s) case 0: goto bad_option; default: printk(" -- SUPPORT NOT CONFIGURED IN THIS KERNEL\n"); - return 1; + return -ENOSYS; } } bad_option: printk(" -- BAD OPTION\n"); - return 1; + return -EINVAL; bad_hwif: printk("-- NOT SUPPORTED ON ide%d", hw); done: printk("\n"); - return 1; + return -ENOSYS; } /* @@ -3550,27 +3541,10 @@ int __init ide_init (void) module_init(ide_init); #ifdef MODULE -char *options = NULL; -MODULE_PARM(options,"s"); MODULE_LICENSE("GPL"); -static void __init parse_options (char *line) -{ - char *next = line; - - if (line == NULL || !*line) - return; - while ((line = next) != NULL) { - if ((next = strchr(line,' ')) != NULL) - *next++ = 0; - if (!ide_setup(line)) - printk ("Unknown option '%s'\n", line); - } -} - int init_module (void) { - parse_options(options); return ide_init(); } @@ -3592,9 +3566,20 @@ void cleanup_module (void) #endif devfs_unregister (ide_devfs_handle); } +#endif /* !MODULE */ -#else /* !MODULE */ - -__setup("", ide_setup); - -#endif /* MODULE */ +/* Messy, but explicit */ +PARAM_CALL(hda, ide_setup, NULL); +PARAM_CALL(hdb, ide_setup, NULL); +PARAM_CALL(hdc, ide_setup, NULL); +PARAM_CALL(hdd, ide_setup, NULL); +PARAM_CALL(hde, ide_setup, NULL); +PARAM_CALL(hdf, ide_setup, NULL); +PARAM_CALL(hdg, ide_setup, NULL); +PARAM_CALL(hdh, ide_setup, NULL); +PARAM_CALL(ide0, ide_setup, NULL); +PARAM_CALL(ide1, ide_setup, NULL); +PARAM_CALL(ide2, ide_setup, NULL); +PARAM_CALL(ide3, ide_setup, NULL); +PARAM_CALL(ide, ide_setup, NULL); +PARAM_CALL(idebus, ide_setup, NULL); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/ieee1394/ieee1394_core.c .14440-linux-2.5.36.updated/drivers/ieee1394/ieee1394_core.c --- .14440-linux-2.5.36/drivers/ieee1394/ieee1394_core.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/ieee1394/ieee1394_core.c 2002-09-18 18:39:11.000000000 +1000 @@ -36,7 +36,7 @@ /* * Disable the nodemgr detection and config rom reading functionality. */ -MODULE_PARM(disable_nodemgr, "i"); +PARAM(disable_nodemgr, bool, 000); MODULE_PARM_DESC(disable_nodemgr, "Disable nodemgr functionality."); static int disable_nodemgr = 0; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/ieee1394/ohci1394.c .14440-linux-2.5.36.updated/drivers/ieee1394/ohci1394.c --- .14440-linux-2.5.36/drivers/ieee1394/ohci1394.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/ieee1394/ohci1394.c 2002-09-18 18:54:37.000000000 +1000 @@ -157,11 +157,11 @@ static char version[] __devinitdata = "$Rev: 555 $ Ben Collins "; /* Module Parameters */ -MODULE_PARM(attempt_root,"i"); +PARAM(attempt_root, int, 000); MODULE_PARM_DESC(attempt_root, "Attempt to make the host root (default = 0)."); static int attempt_root = 0; -MODULE_PARM(phys_dma,"i"); +PARAM(phys_dma, int, 000); MODULE_PARM_DESC(phys_dma, "Enable physical dma (default = 1)."); static int phys_dma = 1; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/ieee1394/pcilynx.c .14440-linux-2.5.36.updated/drivers/ieee1394/pcilynx.c --- .14440-linux-2.5.36/drivers/ieee1394/pcilynx.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/ieee1394/pcilynx.c 2002-09-18 18:39:11.000000000 +1000 @@ -819,7 +819,7 @@ loff_t mem_llseek(struct file *file, lof * everywhere as good as here - use mem_mindma option for modules to change */ short mem_mindma = 2400; -MODULE_PARM(mem_mindma, "h"); +PARAM(mem_mindma, short, 000); static ssize_t mem_dmaread(struct memdata *md, u32 physbuf, ssize_t count, int offset) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/ieee1394/sbp2.c .14440-linux-2.5.36.updated/drivers/ieee1394/sbp2.c --- .14440-linux-2.5.36/drivers/ieee1394/sbp2.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/ieee1394/sbp2.c 2002-09-18 18:54:15.000000000 +1000 @@ -369,7 +369,7 @@ static char version[] __devinitdata = * sbp2_max_speed = 1 (max speed 200mb) * sbp2_max_speed = 0 (max speed 100mb) */ -MODULE_PARM(sbp2_max_speed,"i"); +PARAM(sbp2_max_speed, int, 000); MODULE_PARM_DESC(sbp2_max_speed, "Force max speed (2 = 400mb default, 1 = 200mb, 0 = 100mb)"); static int sbp2_max_speed = SPEED_400; @@ -377,7 +377,7 @@ static int sbp2_max_speed = SPEED_400; * Set sbp2_serialize_io to 1 if you'd like only one scsi command sent down to * us at a time (debugging). This might be necessary for very badly behaved sbp2 devices. */ -MODULE_PARM(sbp2_serialize_io,"i"); +PARAM(sbp2_serialize_io, int, 000); MODULE_PARM_DESC(sbp2_serialize_io, "Serialize all I/O coming down from the scsi drivers (default = 0)"); static int sbp2_serialize_io = 0; /* serialize I/O - available for debugging purposes */ @@ -387,7 +387,7 @@ static int sbp2_serialize_io = 0; /* ser * Default is a value of 255 sectors, or just under 128KB (at 512 byte sector size). I can note * that the Oxsemi sbp2 chipsets have no problems supporting very large transfer sizes. */ -MODULE_PARM(sbp2_max_sectors,"i"); +PARAM(sbp2_max_sectors, int, 000); MODULE_PARM_DESC(sbp2_max_sectors, "Change max sectors per I/O supported (default = 255)"); static int sbp2_max_sectors = SBP2_MAX_SECTORS; @@ -395,7 +395,7 @@ static int sbp2_max_sectors = SBP2_MAX_S * Adjust sbp2_max_outstanding_cmds to tune performance if you have many sbp2 devices attached * (or if you need to do some debugging). */ -MODULE_PARM(sbp2_max_outstanding_cmds,"i"); +PARAM(sbp2_max_outstanding_cmds, int, 000); MODULE_PARM_DESC(sbp2_max_outstanding_cmds, "Change max outstanding concurrent commands (default = 8)"); static int sbp2_max_outstanding_cmds = SBP2SCSI_MAX_OUTSTANDING_CMDS; @@ -406,7 +406,7 @@ static int sbp2_max_outstanding_cmds = S * I can note that the Oxsemi OXFW911 sbp2 chipset works very well with large numbers of * concurrent/linked commands. =) */ -MODULE_PARM(sbp2_max_cmds_per_lun,"i"); +PARAM(sbp2_max_cmds_per_lun, int, 000); MODULE_PARM_DESC(sbp2_max_cmds_per_lun, "Change max concurrent commands per sbp2 device (default = 1)"); static int sbp2_max_cmds_per_lun = SBP2SCSI_MAX_CMDS_PER_LUN; @@ -418,7 +418,7 @@ static int sbp2_max_cmds_per_lun = SBP2S * set sbp2_exclusive_login to zero. Note: The Oxsemi OXFW911 sbp2 chipset supports up to four * concurrent logins. */ -MODULE_PARM(sbp2_exclusive_login,"i"); +PARAM(sbp2_exclusive_login, int, 000); MODULE_PARM_DESC(sbp2_exclusive_login, "Exclusive login to sbp2 device (default = 1)"); static int sbp2_exclusive_login = 1; @@ -427,7 +427,7 @@ static int sbp2_exclusive_login = 1; * is not properly handling the SCSI inquiry command. This hack makes the inquiry look more * like a typical MS Windows inquiry. */ -MODULE_PARM(sbp2_force_inquiry_hack,"i"); +PARAM(sbp2_force_inquiry_hack, int, 000); MODULE_PARM_DESC(sbp2_force_inquiry_hack, "Force SCSI inquiry hack (default = 0)"); static int sbp2_force_inquiry_hack = 0; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/input/mousedev.c .14440-linux-2.5.36.updated/drivers/input/mousedev.c --- .14440-linux-2.5.36/drivers/input/mousedev.c 2002-09-01 12:23:01.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/input/mousedev.c 2002-09-18 18:39:11.000000000 +1000 @@ -563,7 +563,7 @@ static void __exit mousedev_exit(void) module_init(mousedev_init); module_exit(mousedev_exit); -MODULE_PARM(xres, "i"); +PARAM(xres, int, S_IRUGO); MODULE_PARM_DESC(xres, "Horizontal screen resolution"); -MODULE_PARM(yres, "i"); +PARAM(yres, int, S_IRUGO); MODULE_PARM_DESC(yres, "Vertical screen resolution"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/act2000/module.c .14440-linux-2.5.36.updated/drivers/isdn/act2000/module.c --- .14440-linux-2.5.36/drivers/isdn/act2000/module.c 2002-05-25 10:58:19.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/act2000/module.c 2002-09-18 18:39:11.000000000 +1000 @@ -40,10 +40,10 @@ MODULE_PARM_DESC(act_bus, "BusType of fi MODULE_PARM_DESC(membase, "Base port address of first card"); MODULE_PARM_DESC(act_irq, "IRQ of first card"); MODULE_PARM_DESC(act_id, "ID-String of first card"); -MODULE_PARM(act_bus, "i"); -MODULE_PARM(act_port, "i"); -MODULE_PARM(act_irq, "i"); -MODULE_PARM(act_id, "s"); +PARAM(act_bus, int, 000); +PARAM(act_port, int, 000); +PARAM(act_irq, int, 000); +PARAM(act_id, charp, 000); static int act2000_addcard(int, int, int, char *); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/eicon/eicon_mod.c .14440-linux-2.5.36.updated/drivers/isdn/eicon/eicon_mod.c --- .14440-linux-2.5.36/drivers/isdn/eicon/eicon_mod.c 2002-05-24 15:20:19.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/eicon/eicon_mod.c 2002-09-18 18:39:11.000000000 +1000 @@ -77,12 +77,12 @@ MODULE_DESCRIPTION( "ISDN4Li MODULE_AUTHOR( "Armin Schindler"); MODULE_LICENSE( "GPL"); MODULE_PARM_DESC(id, "ID-String of first card"); -MODULE_PARM(id, "s"); +PARAM(id, charp, S_IRUGO); #ifdef CONFIG_ISDN_DRV_EICON_ISA MODULE_PARM_DESC(membase, "Base address of first ISA card"); MODULE_PARM_DESC(irq, "IRQ of first card"); -MODULE_PARM(membase, "i"); -MODULE_PARM(irq, "i"); +PARAM(membase, int, S_IRUGO); +PARAM(irq, int, S_IRUGO); #endif char *eicon_ctype_name[] = { @@ -1463,49 +1463,6 @@ eicon_exit(void) printk(KERN_INFO "%s unloaded\n", DRIVERNAME); } -#ifndef MODULE - -static int __init -eicon_setup(char *line) -{ - int i, argc; - int ints[5]; - char *str; - - str = get_options(line, 4, ints); - - argc = ints[0]; - i = 1; -#ifdef CONFIG_ISDN_DRV_EICON_ISA - if (argc) { - membase = irq = -1; - if (argc) { - membase = ints[i]; - i++; - argc--; - } - if (argc) { - irq = ints[i]; - i++; - argc--; - } - if (strlen(str)) { - strcpy(id, str); - } else { - strcpy(id, "eicon"); - } - printk(KERN_INFO "Eicon ISDN active driver setup (id=%s membase=0x%x irq=%d)\n", - id, membase, irq); - } -#else - printk(KERN_INFO "Eicon ISDN active driver setup\n"); -#endif - return(1); -} -__setup("eicon=", eicon_setup); - -#endif /* MODULE */ - #ifdef CONFIG_ISDN_DRV_EICON_ISA #ifdef CONFIG_MCA diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/hisax/callc.c .14440-linux-2.5.36.updated/drivers/isdn/hisax/callc.c --- .14440-linux-2.5.36/drivers/isdn/hisax/callc.c 2002-09-18 16:03:27.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/hisax/callc.c 2002-09-18 18:39:11.000000000 +1000 @@ -21,9 +21,13 @@ #include "hisax.h" #include -#ifdef MODULE -#define MOD_USE_COUNT ( GET_USE_COUNT (&__this_module)) -#endif /* MODULE */ +#if defined(MODULE) && defined(CONFIG_MODULE_UNLOAD) +#define MOD_USE_COUNT atomic_read(&__this_module.use) +#define SET_MOD_USE(x) atomic_set(&__this_module.use, (x)) +#else +#define MOD_USE_COUNT 0 +#define SET_MOD_USE(x) +#endif /* MODULE and UNLOAD */ const char *lli_revision = "$Revision: 2.51.6.6 $"; @@ -1694,7 +1698,7 @@ HiSax_command(isdn_ctrl * ic) break; #ifdef MODULE case (55): - MOD_USE_COUNT = 0; + SET_MOD_USE(0); HiSax_mod_inc_use_count(NULL); break; #endif /* MODULE */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/hisax/config.c .14440-linux-2.5.36.updated/drivers/isdn/hisax/config.c --- .14440-linux-2.5.36/drivers/isdn/hisax/config.c 2002-08-28 09:29:46.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/hisax/config.c 2002-09-18 19:04:24.000000000 +1000 @@ -373,15 +373,15 @@ static char *id __devinitdata = HiSaxID; MODULE_DESCRIPTION("ISDN4Linux: Driver for passive ISDN cards"); MODULE_AUTHOR("Karsten Keil"); MODULE_LICENSE("GPL"); -MODULE_PARM(type, PARM_PARA); -MODULE_PARM(protocol, PARM_PARA); -MODULE_PARM(io, PARM_PARA); -MODULE_PARM(irq, PARM_PARA); -MODULE_PARM(mem, PARM_PARA); -MODULE_PARM(id, "s"); +PARAM_ARRAY(type, type, int, 1, HISAX_MAX_CARDS, 000); +PARAM_ARRAY(protocol, protocol, int, 1, HISAX_MAX_CARDS, 000); +PARAM_ARRAY(io, io, int, 1, HISAX_MAX_CARDS, 000); +PARAM_ARRAY(irq, irq, int, 1, HISAX_MAX_CARDS, 000); +PARAM_ARRAY(mem, mem, int, 1, HISAX_MAX_CARDS, 000); +PARAM(id, charp, 000); #ifdef IO0_IO1 -MODULE_PARM(io0, PARM_PARA); -MODULE_PARM(io1, PARM_PARA); +PARAM_ARRAY(io0, io0, int, 1, HISAX_MAX_CARDS, 000); +PARAM_ARRAY(io1, io1, int, 1, HISAX_MAX_CARDS, 000); #endif #endif /* MODULE */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/hisax/elsa_cs.c .14440-linux-2.5.36.updated/drivers/isdn/hisax/elsa_cs.c --- .14440-linux-2.5.36/drivers/isdn/hisax/elsa_cs.c 2001-10-02 14:03:58.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/hisax/elsa_cs.c 2002-09-18 18:39:11.000000000 +1000 @@ -69,7 +69,7 @@ MODULE_LICENSE("Dual MPL/GPL"); #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args); static char *version = "elsa_cs.c $Revision: 1.1.2.2 $ $Date: 2001/09/23 22:24:47 $ (K.Lichtenwalder)"; @@ -88,11 +88,11 @@ static u_long irq_mask = 0xdeb8; /* Newer, simpler way of listing specific interrupts */ static int irq_list[4] = { -1 }; -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); +PARAM(irq_mask, int, 000); +PARAM_ARRAY(irq_list, irq_list, int, 1, 4, 000); static int protocol = 2; /* EURO-ISDN Default */ -MODULE_PARM(protocol, "i"); +PARAM(protocol, int, 000); extern int elsa_init_pcmcia(int, int, int*, int); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/hisax/sedlbauer_cs.c .14440-linux-2.5.36.updated/drivers/isdn/hisax/sedlbauer_cs.c --- .14440-linux-2.5.36/drivers/isdn/hisax/sedlbauer_cs.c 2001-10-02 14:03:58.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/hisax/sedlbauer_cs.c 2002-09-18 18:39:11.000000000 +1000 @@ -69,7 +69,7 @@ MODULE_LICENSE("Dual MPL/GPL"); #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args); static char *version = "sedlbauer_cs.c 1.1a 2001/01/28 15:04:04 (M.Niemann)"; @@ -88,11 +88,11 @@ static u_int irq_mask = 0xdeb8; /* Newer, simpler way of listing specific interrupts */ static int irq_list[4] = { -1 }; -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); +PARAM(irq_mask, int, 000); +PARAM_ARRAY(irq_list, irq_list, int, 1, 4, 000); static int protocol = 2; /* EURO-ISDN Default */ -MODULE_PARM(protocol, "i"); +PARAM(protocol, int, 000); extern int sedl_init_pcmcia(int, int, int*, int); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/hisax/st5481_init.c .14440-linux-2.5.36.updated/drivers/isdn/hisax/st5481_init.c --- .14440-linux-2.5.36/drivers/isdn/hisax/st5481_init.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/hisax/st5481_init.c 2002-09-18 18:39:11.000000000 +1000 @@ -38,14 +38,14 @@ MODULE_AUTHOR("Frode Isaksen"); MODULE_LICENSE("GPL"); static int protocol = 2; /* EURO-ISDN Default */ -MODULE_PARM(protocol, "i"); +PARAM(protocol, int, 000); static int number_of_leds = 2; /* 2 LEDs on the adpater default */ -MODULE_PARM(number_of_leds, "i"); +PARAM(number_of_leds, int, 000); #ifdef CONFIG_HISAX_DEBUG static int debug = 0x1; -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); int st5481_debug; #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/hysdn/hycapi.c .14440-linux-2.5.36.updated/drivers/isdn/hysdn/hycapi.c --- .14440-linux-2.5.36/drivers/isdn/hysdn/hycapi.c 2002-06-09 17:22:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/hysdn/hycapi.c 2002-09-18 18:39:11.000000000 +1000 @@ -32,7 +32,7 @@ static char hycapi_revision[]="$Revision: 1.8.6.4 $"; unsigned int hycapi_enable = 0xffffffff; -MODULE_PARM(hycapi_enable, "i"); +PARAM(hycapi_enable, int, 000); typedef struct _hycapi_appl { unsigned int ctrl_mask; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/hysdn/hysdn_net.c .14440-linux-2.5.36.updated/drivers/isdn/hysdn/hysdn_net.c --- .14440-linux-2.5.36/drivers/isdn/hysdn/hysdn_net.c 2002-09-18 16:03:27.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/hysdn/hysdn_net.c 2002-09-18 18:39:11.000000000 +1000 @@ -25,7 +25,7 @@ #include "hysdn_defs.h" unsigned int hynet_enable = 0xffffffff; -MODULE_PARM(hynet_enable, "i"); +PARAM(hynet_enable, int, 000); /* store the actual version for log reporting */ char *hysdn_net_revision = "$Revision: 1.8.6.4 $"; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/icn/icn.c .14440-linux-2.5.36.updated/drivers/isdn/icn/icn.c --- .14440-linux-2.5.36/drivers/isdn/icn/icn.c 2002-06-18 02:18:28.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/icn/icn.c 2002-09-18 18:39:11.000000000 +1000 @@ -21,13 +21,13 @@ static char *icn_id2 = "\0"; MODULE_DESCRIPTION("ISDN4Linux: Driver for ICN active ISDN card"); MODULE_AUTHOR("Fritz Elfert"); MODULE_LICENSE("GPL"); -MODULE_PARM(portbase, "i"); +PARAM(portbase, int, S_IRUGO); MODULE_PARM_DESC(portbase, "Port address of first card"); -MODULE_PARM(membase, "l"); +PARAM(membase, long, S_IRUGO); MODULE_PARM_DESC(membase, "Shared memory address of all cards"); -MODULE_PARM(icn_id, "s"); +PARAM(icn_id, charp, S_IRUGO); MODULE_PARM_DESC(icn_id, "ID-String of first card"); -MODULE_PARM(icn_id2, "s"); +PARAM(icn_id2, charp, S_IRUGO); MODULE_PARM_DESC(icn_id2, "ID-String of first card, second S0 (4B only)"); /* @@ -1645,9 +1645,8 @@ icn_addcard(int port, char *id1, char *i return 0; } -#ifndef MODULE static int __init -icn_setup(char *line) +icn_setup(char *line, struct kernel_param *kp) { char *p, *str; int ints[3]; @@ -1670,8 +1669,7 @@ icn_setup(char *line) } return(1); } -__setup("icn=", icn_setup); -#endif /* MODULE */ +PARAM_CALL(icn, icn_setup, NULL); static int __init icn_init(void) { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/isdnloop/isdnloop.c .14440-linux-2.5.36.updated/drivers/isdn/isdnloop/isdnloop.c --- .14440-linux-2.5.36/drivers/isdn/isdnloop/isdnloop.c 2002-08-11 15:31:35.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/isdn/isdnloop/isdnloop.c 2002-09-18 18:39:11.000000000 +1000 @@ -20,7 +20,7 @@ static char *isdnloop_id; MODULE_DESCRIPTION("ISDN4Linux: Pseudo Driver that simulates an ISDN card"); MODULE_AUTHOR("Fritz Elfert"); MODULE_LICENSE("GPL"); -MODULE_PARM(isdnloop_id, "s"); +PARAM(isdnloop_id, charp, S_IRUGO); MODULE_PARM_DESC(isdnloop_id, "ID-String of first card"); static int isdnloop_addcard(char *); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/isdn/pcbit/module.c .14440-linux-2.5.36.updated/drivers/isdn/pcbit/module.c --- .14440-linux-2.5.36/drivers/isdn/pcbit/module.c 2002-02-05 18:49:25.000000000 +1100 +++ .14440-linux-2.5.36.updated/drivers/isdn/pcbit/module.c 2002-09-18 18:39:11.000000000 +1000 @@ -20,14 +20,14 @@ #include #include "pcbit.h" +static int mem[MAX_PCBIT_CARDS] = {0, }; +static int irq[MAX_PCBIT_CARDS] = {0, }; + MODULE_DESCRIPTION("ISDN4Linux: Driver for PCBIT-T card"); MODULE_AUTHOR("Pedro Roque Marques"); MODULE_LICENSE("GPL"); -MODULE_PARM(mem, "1-" __MODULE_STRING(MAX_PCBIT_CARDS) "i"); -MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_PCBIT_CARDS) "i"); - -static int mem[MAX_PCBIT_CARDS] = {0, }; -static int irq[MAX_PCBIT_CARDS] = {0, }; +PARAM_ARRAY(mem, mem, int, 1, MAX_PCBIT_CARDS, 000); +PARAM_ARRAY(irq, irq, int, 1, MAX_PCBIT_CARDS, 000); static int num_boards; struct pcbit_dev * dev_pcbit[MAX_PCBIT_CARDS] = {0, }; @@ -91,38 +91,6 @@ static void __exit pcbit_exit(void) "PCBIT-D module unloaded\n"); } -#ifndef MODULE -#define MAX_PARA (MAX_PCBIT_CARDS * 2) -static int __init pcbit_setup(char *line) -{ - int i, j, argc; - char *str; - int ints[MAX_PARA+1]; - - str = get_options(line, MAX_PARA, ints); - argc = ints[0]; - i = 0; - j = 1; - - while (argc && (i */ #ifdef MODULE static char *parport[MAX_CAMS] = { NULL, }; -MODULE_PARM(parport, "1-" __MODULE_STRING(MAX_CAMS) "s"); +PARAM_ARRAY(parport, parport, charp, 1, MAX_CAMS, S_IRUGO); #endif static void __exit exit_bw_qcams(void) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/c-qcam.c .14440-linux-2.5.36.updated/drivers/media/video/c-qcam.c --- .14440-linux-2.5.36/drivers/media/video/c-qcam.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/c-qcam.c 2002-09-18 18:39:12.000000000 +1000 @@ -849,10 +849,10 @@ MODULE_LICENSE("GPL"); MODULE_PARM_DESC(parport ,"parport= for port detection method\n\ probe=<0|1|2> for camera detection method\n\ force_rgb=<0|1> for RGB data format (default BGR)"); -MODULE_PARM(parport, "1-" __MODULE_STRING(MAX_CAMS) "i"); -MODULE_PARM(probe, "i"); -MODULE_PARM(force_rgb, "i"); -MODULE_PARM(video_nr,"i"); +PARAM_ARRAY(parport, parport, int, 1, MAX_CAMS, 000); +PARAM(probe, int, 000); +PARAM(force_rgb, int, 000); +PARAM(video_nr, int, 000); module_init(cqcam_init); module_exit(cqcam_cleanup); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/cpia.c .14440-linux-2.5.36.updated/drivers/media/video/cpia.c --- .14440-linux-2.5.36/drivers/media/video/cpia.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/cpia.c 2002-09-18 18:39:12.000000000 +1000 @@ -55,7 +55,7 @@ extern int cpia_usb_init(void); static int video_nr = -1; #ifdef MODULE -MODULE_PARM(video_nr,"i"); +PARAM(video_nr, int, 000); MODULE_AUTHOR("Scott J. Bertin & Peter Pregler & Johannes Erdfelt "); MODULE_DESCRIPTION("V4L-driver for Vision CPiA based cameras"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/cpia_pp.c .14440-linux-2.5.36.updated/drivers/media/video/cpia_pp.c --- .14440-linux-2.5.36/drivers/media/video/cpia_pp.c 2002-06-21 09:41:53.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/cpia_pp.c 2002-09-18 18:39:12.000000000 +1000 @@ -126,7 +126,7 @@ MODULE_AUTHOR("B. Huisman "); MODULE_LICENSE("GPL"); -MODULE_PARM(debug,"i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug,"Enable debugging output"); module_init(tuner3036_init); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/tuner.c .14440-linux-2.5.36.updated/drivers/media/video/tuner.c --- .14440-linux-2.5.36/drivers/media/video/tuner.c 2002-07-17 10:25:50.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/tuner.c 2002-09-18 18:39:12.000000000 +1000 @@ -37,12 +37,12 @@ static int addr = 0; static char *pal = "b"; static int tv_range[2] = { 44, 958 }; static int radio_range[2] = { 65, 108 }; -MODULE_PARM(debug,"i"); -MODULE_PARM(type,"i"); -MODULE_PARM(addr,"i"); -MODULE_PARM(tv_range,"2i"); -MODULE_PARM(radio_range,"2i"); -MODULE_PARM(pal,"s"); +PARAM(debug, int, 000); +PARAM(type, int, 000); +PARAM(addr, int, 000); +PARAM_ARRAY(tv_range, tv_range, int, 2, 2, 000); +PARAM_ARRAY(radio_range, radio_range, int, 2, 2, 000); +PARAM(pal, charp, 000); #define optimize_vco 1 diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/tvaudio.c .14440-linux-2.5.36.updated/drivers/media/video/tvaudio.c --- .14440-linux-2.5.36/drivers/media/video/tvaudio.c 2002-07-17 10:25:50.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/tvaudio.c 2002-09-18 18:42:09.000000000 +1000 @@ -37,7 +37,7 @@ /* ---------------------------------------------------------------------- */ /* insmod args */ -MODULE_PARM(debug,"i"); +PARAM(debug, int, 000); static int debug = 0; /* insmod parameter */ #define dprintk if (debug) printk @@ -778,9 +778,9 @@ static int tda9874a_dic = -1; /* device static int tda9874a_SIF = -1; static int tda9874a_AMSEL = -1; static int tda9874a_STD = -1; -MODULE_PARM(tda9874a_SIF,"i"); -MODULE_PARM(tda9874a_AMSEL,"i"); -MODULE_PARM(tda9874a_STD,"i"); +PARAM(tda9874a_SIF,int,000); +PARAM(tda9874a_AMSEL,int,000); +PARAM(tda9874a_STD,int,000); /* * initialization table for tda9874 decoder: @@ -1144,15 +1144,15 @@ int tda9874a = 1; int tea6300 = 0; int tea6420 = 1; int pic16c54 = 1; -MODULE_PARM(tda8425,"i"); -MODULE_PARM(tda9840,"i"); -MODULE_PARM(tda9850,"i"); -MODULE_PARM(tda9855,"i"); -MODULE_PARM(tda9873,"i"); -MODULE_PARM(tda9874a,"i"); -MODULE_PARM(tea6300,"i"); -MODULE_PARM(tea6420,"i"); -MODULE_PARM(pic16c54,"i"); +PARAM(tda8425, int, 000); +PARAM(tda9840, int, 000); +PARAM(tda9850, int, 000); +PARAM(tda9855, int, 000); +PARAM(tda9873, int, 000); +PARAM(tda9874a, int, 000); +PARAM(tea6300, int, 000); +PARAM(tea6420, int, 000); +PARAM(pic16c54, int, 000); static struct CHIPDESC chiplist[] = { { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/tvmixer.c .14440-linux-2.5.36.updated/drivers/media/video/tvmixer.c --- .14440-linux-2.5.36/drivers/media/video/tvmixer.c 2002-07-17 10:25:50.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/tvmixer.c 2002-09-18 18:39:12.000000000 +1000 @@ -24,8 +24,8 @@ static int debug = 0; static int devnr = -1; -MODULE_PARM(debug,"i"); -MODULE_PARM(devnr,"i"); +PARAM(debug, int, 000); +PARAM(devnr, int, 000); MODULE_AUTHOR("Gerd Knorr"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/w9966.c .14440-linux-2.5.36.updated/drivers/media/video/w9966.c --- .14440-linux-2.5.36/drivers/media/video/w9966.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/w9966.c 2002-09-18 18:39:12.000000000 +1000 @@ -127,18 +127,18 @@ static const char* pardev[] = {[0 ... W9 #else static const char* pardev[] = {[0 ... W9966_MAXCAMS] = "aggressive"}; #endif -MODULE_PARM(pardev, "1-" __MODULE_STRING(W9966_MAXCAMS) "s"); +PARAM_ARRAY(pardev, pardev, charp, 1, W9966_MAXCAMS, 000); MODULE_PARM_DESC(pardev, "pardev: where to search for\n\ \teach camera. 'aggressive' means brute-force search.\n\ \tEg: >pardev=parport3,aggressive,parport2,parport1< would assign \tcam 1 to parport3 and search every parport for cam 2 etc..."); static int parmode = 0; -MODULE_PARM(parmode, "i"); +PARAM(parmode, int, 000); MODULE_PARM_DESC(parmode, "parmode: transfer mode (0=auto, 1=ecp, 2=epp"); static int video_nr = -1; -MODULE_PARM(video_nr, "i"); +PARAM(video_nr, int, 000); /* * Private data diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/zr36067.c .14440-linux-2.5.36.updated/drivers/media/video/zr36067.c --- .14440-linux-2.5.36/drivers/media/video/zr36067.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/zr36067.c 2002-09-18 18:39:12.000000000 +1000 @@ -232,17 +232,17 @@ static int lml33dpath = 0; /* 1 will use will be some image imperfections */ static int video_nr = -1; -MODULE_PARM(vidmem, "i"); -MODULE_PARM(triton, "i"); -MODULE_PARM(natoma, "i"); -MODULE_PARM(v4l_nbufs, "i"); -MODULE_PARM(v4l_bufsize, "i"); -MODULE_PARM(default_input, "i"); -MODULE_PARM(default_norm, "i"); -MODULE_PARM(lock_norm, "i"); -MODULE_PARM(pass_through, "i"); -MODULE_PARM(lml33dpath, "i"); -MODULE_PARM(video_nr, "i"); +PARAM(vidmem, int, 000); +PARAM(triton, int, 000); +PARAM(natoma, int, 000); +PARAM(v4l_nbufs, int, 000); +PARAM(v4l_bufsize, int, 000); +PARAM(default_input, int, 000); +PARAM(default_norm, int, 000); +PARAM(lock_norm, int, 000); +PARAM(pass_through, int, 000); +PARAM(lml33dpath, int, 000); +PARAM(video_nr, int, 000); static struct pci_device_id zr36067_pci_tbl[] = { { PCI_VENDOR_ID_ZORAN, PCI_DEVICE_ID_ZORAN_36057, diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/media/video/zr36120.c .14440-linux-2.5.36.updated/drivers/media/video/zr36120.c --- .14440-linux-2.5.36/drivers/media/video/zr36120.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/media/video/zr36120.c 2002-09-18 18:39:12.000000000 +1000 @@ -70,10 +70,10 @@ MODULE_AUTHOR("Pauline Middelink "); MODULE_DESCRIPTION("Emulate an MTD using a block device"); -MODULE_PARM(device, "s"); +PARAM(device, charp, 000); MODULE_PARM_DESC(device, "block device to use"); -MODULE_PARM(erasesz, "i"); +PARAM(erasesz, int, 000); MODULE_PARM_DESC(erasesz, "optional erase size to use in KB. eg 4=4K."); -MODULE_PARM(ro, "i"); +PARAM(ro, bool, 000); MODULE_PARM_DESC(ro, "1=Read only, writes and erases cause errors"); -MODULE_PARM(bs, "i"); +PARAM(bs, int, 000); MODULE_PARM_DESC(bs, "force the block size in bytes"); -MODULE_PARM(count, "i"); +PARAM(count, int, 000); MODULE_PARM_DESC(count, "force the block count"); MODULE_PARM(wqs, "i"); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/devices/doc1000.c .14440-linux-2.5.36.updated/drivers/mtd/devices/doc1000.c --- .14440-linux-2.5.36/drivers/mtd/devices/doc1000.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/mtd/devices/doc1000.c 2002-09-18 18:39:12.000000000 +1000 @@ -34,10 +34,10 @@ static int erase_timeout = 10*HZ; /* in static int retry_limit = 4; /* write retries */ static u_long max_tries = 4096; /* status polling */ -MODULE_PARM(base,"l"); -MODULE_PARM(erase_timeout, "i"); -MODULE_PARM(retry_limit, "i"); -MODULE_PARM(max_tries, "i"); +PARAM(base, long, 000); +PARAM(erase_timeout, int, 000); +PARAM(retry_limit, int, 000); +PARAM(max_tries, int, 000); #define WINDOW_SIZE 0x2000 #define WINDOW_MASK (WINDOW_SIZE - 1) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/devices/docprobe.c .14440-linux-2.5.36.updated/drivers/mtd/devices/docprobe.c --- .14440-linux-2.5.36/drivers/mtd/devices/docprobe.c 2001-10-06 00:40:30.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/mtd/devices/docprobe.c 2002-09-18 18:39:12.000000000 +1000 @@ -66,7 +66,7 @@ static unsigned long doc_config_location = CONFIG_MTD_DOCPROBE_ADDRESS; -MODULE_PARM(doc_config_location, "l"); +PARAM(doc_config_location, long, 000); static unsigned long __initdata doc_locations[] = { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/devices/mtdram.c .14440-linux-2.5.36.updated/drivers/mtd/devices/mtdram.c --- .14440-linux-2.5.36/drivers/mtd/devices/mtdram.c 2001-10-05 08:14:59.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/mtd/devices/mtdram.c 2002-09-18 18:39:12.000000000 +1000 @@ -27,8 +27,8 @@ #ifdef MODULE static unsigned long total_size = CONFIG_MTDRAM_TOTAL_SIZE; static unsigned long erase_size = CONFIG_MTDRAM_ERASE_SIZE; -MODULE_PARM(total_size,"l"); -MODULE_PARM(erase_size,"l"); +PARAM(total_size, long, 000); +PARAM(erase_size, long, 000); #define MTDRAM_TOTAL_SIZE (total_size * 1024) #define MTDRAM_ERASE_SIZE (erase_size * 1024) #else diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/devices/pmc551.c .14440-linux-2.5.36.updated/drivers/mtd/devices/pmc551.c --- .14440-linux-2.5.36/drivers/mtd/devices/pmc551.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/mtd/devices/pmc551.c 2002-09-18 18:39:12.000000000 +1000 @@ -638,9 +638,9 @@ static u32 fixup_pmc551 (struct pci_dev MODULE_LICENSE("GPL"); MODULE_AUTHOR("Mark Ferrell "); MODULE_DESCRIPTION(PMC551_VERSION); -MODULE_PARM(msize, "i"); -MODULE_PARM_DESC(msize, "memory size in Megabytes [1 - 1024]"); -MODULE_PARM(asize, "i"); +PARAM(msize, int, 000); +MODULE_PARM_DESC(msize, "memory size, 6=32M, 7=64M, 8=128M, etc.. [32M-1024M]"); +PARAM(asize, int, 000); MODULE_PARM_DESC(asize, "aperture size, must be <= memsize [1-1024]"); /* diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/devices/slram.c .14440-linux-2.5.36.updated/drivers/mtd/devices/slram.c --- .14440-linux-2.5.36/drivers/mtd/devices/slram.c 2002-05-24 15:20:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/mtd/devices/slram.c 2002-09-18 18:39:12.000000000 +1000 @@ -45,7 +45,7 @@ static char *map[SLRAM_MAX_DEVICES_PARAM static char *map; #endif -MODULE_PARM(map, "3-" __MODULE_STRING(SLRAM_MAX_DEVICES_PARAMS) "s"); +PARAM_ARRAY(map, map, charp, 3, SLRAM_MAX_DEVICES_PARAMS, 000); MODULE_PARM_DESC(map, "List of memory regions to map. \"map=, , \""); static slram_mtd_list_t *slram_mtdlist = NULL; @@ -253,18 +253,6 @@ int parse_cmdline(char *devname, char *s return(0); } -#ifndef MODULE - -static int __init mtd_slram_setup(char *str) -{ - map = str; - return(1); -} - -__setup("slram=", mtd_slram_setup); - -#endif - int init_slram(void) { char *devname; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/ftl.c .14440-linux-2.5.36.updated/drivers/mtd/ftl.c --- .14440-linux-2.5.36/drivers/mtd/ftl.c 2002-09-18 16:03:28.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/mtd/ftl.c 2002-09-18 18:39:12.000000000 +1000 @@ -83,7 +83,7 @@ /* Parameters that can be set with 'insmod' */ static int shuffle_freq = 50; -MODULE_PARM(shuffle_freq, "i"); +PARAM(shuffle_freq, int, 000); /*====================================================================*/ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/mtdblock_ro.c .14440-linux-2.5.36.updated/drivers/mtd/mtdblock_ro.c --- .14440-linux-2.5.36/drivers/mtd/mtdblock_ro.c 2002-07-25 10:13:07.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/mtd/mtdblock_ro.c 2002-09-18 18:39:12.000000000 +1000 @@ -31,7 +31,7 @@ #ifdef MTDBLOCK_DEBUG static int debug = MTDBLOCK_DEBUG; -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/mtd/nand/spia.c .14440-linux-2.5.36.updated/drivers/mtd/nand/spia.c --- .14440-linux-2.5.36/drivers/mtd/nand/spia.c 2002-03-08 14:49:17.000000000 +1100 +++ .14440-linux-2.5.36.updated/drivers/mtd/nand/spia.c 2002-09-18 18:39:12.000000000 +1000 @@ -52,15 +52,10 @@ static int spia_fio_base = SPIA_FIO_BASE static int spia_pedr = SPIA_PEDR; static int spia_peddr = SPIA_PEDDR; -MODULE_PARM(spia_io_base, "i"); -MODULE_PARM(spia_fio_base, "i"); -MODULE_PARM(spia_pedr, "i"); -MODULE_PARM(spia_peddr, "i"); - -__setup("spia_io_base=",spia_io_base); -__setup("spia_fio_base=",spia_fio_base); -__setup("spia_pedr=",spia_pedr); -__setup("spia_peddr=",spia_peddr); +PARAM(spia_io_base, int, 000); +PARAM(spia_fio_base, int, 000); +PARAM(spia_pedr, int, 000); +PARAM(spia_peddr, int, 000); /* * Define partitions for flash device diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/parport/parport_cs.c .14440-linux-2.5.36.updated/drivers/parport/parport_cs.c --- .14440-linux-2.5.36/drivers/parport/parport_cs.c 2002-05-24 15:20:23.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/parport/parport_cs.c 2002-09-18 18:39:12.000000000 +1000 @@ -60,7 +60,7 @@ #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) static char *version = "parport_cs.c 1.20 2000/11/02 23:15:05 (David Hinds)"; @@ -81,9 +81,9 @@ static u_int irq_mask = 0xdeb8; static int irq_list[4] = { -1 }; static int epp_mode = 1; -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); -MODULE_PARM(epp_mode, "i"); +PARAM(irq_mask, int, 000); +PARAM_ARRAY(irq_list, irq_list, int, 1, 4, 000); +PARAM(epp_mode, int, 000); /*====================================================================*/ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/parport/parport_pc.c .14440-linux-2.5.36.updated/drivers/parport/parport_pc.c --- .14440-linux-2.5.36/drivers/parport/parport_pc.c 2002-09-18 18:37:49.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/parport/parport_pc.c 2002-09-18 18:56:22.000000000 +1000 @@ -3057,16 +3057,16 @@ MODULE_DESCRIPTION("PC-style parallel po MODULE_LICENSE("GPL"); MODULE_PARM_DESC(io, "Base I/O address (SPP regs)"); -MODULE_PARM(io, "1-" __MODULE_STRING(PARPORT_PC_MAX_PORTS) "i"); +PARAM_ARRAY(io, io, int, 1, PARPORT_PC_MAX_PORTS, 000); MODULE_PARM_DESC(io_hi, "Base I/O address (ECR)"); -MODULE_PARM(io_hi, "1-" __MODULE_STRING(PARPORT_PC_MAX_PORTS) "i"); +PARAM_ARRAY(io_hi, io_hi, int, 1, PARPORT_PC_MAX_PORTS, 000); MODULE_PARM_DESC(irq, "IRQ line"); -MODULE_PARM(irq, "1-" __MODULE_STRING(PARPORT_PC_MAX_PORTS) "s"); +PARAM_ARRAY(irq, irq, charp, 1, PARPORT_PC_MAX_PORTS, 000); MODULE_PARM_DESC(dma, "DMA channel"); -MODULE_PARM(dma, "1-" __MODULE_STRING(PARPORT_PC_MAX_PORTS) "s"); +PARAM_ARRAY(dma, dma, charp, 1, PARPORT_PC_MAX_PORTS, 000); #if defined(CONFIG_PARPORT_PC_FIFO) || defined(CONFIG_PARPORT_PC_SUPERIO) MODULE_PARM_DESC(verbose_probing, "Log chit-chat during initialisation"); -MODULE_PARM(verbose_probing, "i"); +PARAM(verbose_probing, int, 000); #endif static int init(void) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/pci/pci.c .14440-linux-2.5.36.updated/drivers/pci/pci.c --- .14440-linux-2.5.36/drivers/pci/pci.c 2002-09-18 16:04:01.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/pci/pci.c 2002-09-18 19:07:23.000000000 +1000 @@ -623,7 +623,7 @@ static int __devinit pci_init(void) return 0; } -static int __devinit pci_setup(char *str) +static int __devinit pci_setup(char *str, struct kernel_param *kp) { while (str) { char *k = strchr(str, ','); @@ -635,12 +635,12 @@ static int __devinit pci_setup(char *str } str = k; } - return 1; + return 0; } device_initcall(pci_init); -__setup("pci=", pci_setup); +PARAM_CALL(pci, pci_setup, NULL); EXPORT_SYMBOL(pci_enable_device); EXPORT_SYMBOL(pci_disable_device); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/pcmcia/cistpl.c .14440-linux-2.5.36.updated/drivers/pcmcia/cistpl.c --- .14440-linux-2.5.36/drivers/pcmcia/cistpl.c 2002-05-24 15:20:23.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/pcmcia/cistpl.c 2002-09-18 18:39:12.000000000 +1000 @@ -35,6 +35,7 @@ #include #include +#include #include #include #include @@ -79,9 +80,9 @@ static const u_int exponent[] = { /*====================================================================*/ -/* Parameters that can be set with 'insmod' */ +/* Parameters */ -#define INT_MODULE_PARM(n, v) static int n = v; MODULE_PARM(n, "i") +#define INT_MODULE_PARM(n, v) static int n = v; PARAM(n, int, 000) INT_MODULE_PARM(cis_width, 0); /* 16-bit CIS? */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/pcmcia/cs.c .14440-linux-2.5.36.updated/drivers/pcmcia/cs.c --- .14440-linux-2.5.36/drivers/pcmcia/cs.c 2002-05-24 15:20:23.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/pcmcia/cs.c 2002-09-18 18:39:12.000000000 +1000 @@ -94,7 +94,7 @@ MODULE_DESCRIPTION("Linux Kernel Card Se "\n options:" OPTIONS); MODULE_LICENSE("Dual MPL/GPL"); -#define INT_MODULE_PARM(n, v) static int n = v; MODULE_PARM(n, "i") +#define INT_MODULE_PARM(n, v) static int n = v; PARAM(n, int, 000) INT_MODULE_PARM(setup_delay, 10); /* centiseconds */ INT_MODULE_PARM(resume_delay, 20); /* centiseconds */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/pcmcia/i82365.c .14440-linux-2.5.36.updated/drivers/pcmcia/i82365.c --- .14440-linux-2.5.36/drivers/pcmcia/i82365.c 2002-06-21 09:41:54.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/pcmcia/i82365.c 2002-09-18 18:39:12.000000000 +1000 @@ -68,7 +68,7 @@ #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) static const char *version = "i82365.c 1.265 1999/11/10 18:36:21 (David Hinds)"; @@ -128,28 +128,28 @@ static int wakeup = 0; #endif #ifdef CONFIG_ISA -MODULE_PARM(i365_base, "i"); -MODULE_PARM(ignore, "i"); -MODULE_PARM(extra_sockets, "i"); -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-16i"); -MODULE_PARM(cs_irq, "i"); -MODULE_PARM(async_clock, "i"); -MODULE_PARM(cable_mode, "i"); -MODULE_PARM(wakeup, "i"); +PARAM(i365_base, int, 000); +PARAM(ignore, int, 000); +PARAM(extra_sockets, int, 000); +PARAM(irq_mask, int, 000); +PARAM(irq_list, "1-16i"); +PARAM(cs_irq, int, 000); +PARAM(async_clock, int, 000); +PARAM(cable_mode, int, 000); +PARAM(wakeup, int, 000); #endif -MODULE_PARM(do_scan, "i"); -MODULE_PARM(poll_interval, "i"); -MODULE_PARM(cycle_time, "i"); -MODULE_PARM(has_dma, "i"); -MODULE_PARM(has_led, "i"); -MODULE_PARM(has_ring, "i"); -MODULE_PARM(dynamic_mode, "i"); -MODULE_PARM(freq_bypass, "i"); -MODULE_PARM(setup_time, "i"); -MODULE_PARM(cmd_time, "i"); -MODULE_PARM(recov_time, "i"); +PARAM(do_scan, int, 000); +PARAM(poll_interval, int, 000); +PARAM(cycle_time, int, 000); +PARAM(has_dma, int, 000); +PARAM(has_led, int, 000); +PARAM(has_ring, int, 000); +PARAM(dynamic_mode, int, 000); +PARAM(freq_bypass, int, 000); +PARAM(setup_time, int, 000); +PARAM(cmd_time, int, 000); +PARAM(recov_time, int, 000); /*====================================================================*/ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/pcmcia/rsrc_mgr.c .14440-linux-2.5.36.updated/drivers/pcmcia/rsrc_mgr.c --- .14440-linux-2.5.36/drivers/pcmcia/rsrc_mgr.c 2002-05-24 15:20:23.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/pcmcia/rsrc_mgr.c 2002-09-18 18:39:12.000000000 +1000 @@ -56,9 +56,9 @@ /*====================================================================*/ -/* Parameters that can be set with 'insmod' */ +/* Parameters */ -#define INT_MODULE_PARM(n, v) static int n = v; MODULE_PARM(n, "i") +#define INT_MODULE_PARM(n, v) static int n = v; PARAM(n, int, 000) INT_MODULE_PARM(probe_mem, 1); /* memory probe? */ #ifdef CONFIG_ISA diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/pcmcia/tcic.c .14440-linux-2.5.36.updated/drivers/pcmcia/tcic.c --- .14440-linux-2.5.36/drivers/pcmcia/tcic.c 2002-06-21 09:41:54.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/pcmcia/tcic.c 2002-09-18 18:39:12.000000000 +1000 @@ -59,7 +59,7 @@ #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); static const char *version = "tcic.c 1.111 2000/02/15 04:13:12 (David Hinds)"; #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) @@ -100,15 +100,15 @@ static int poll_quick = HZ/20; /* CCLK external clock time, in nanoseconds. 70 ns = 14.31818 MHz */ static int cycle_time = 70; -MODULE_PARM(tcic_base, "i"); -MODULE_PARM(ignore, "i"); -MODULE_PARM(do_scan, "i"); -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-16i"); -MODULE_PARM(cs_irq, "i"); -MODULE_PARM(poll_interval, "i"); -MODULE_PARM(poll_quick, "i"); -MODULE_PARM(cycle_time, "i"); +PARAM(tcic_base, int, 000); +PARAM(ignore, int, 000); +PARAM(do_scan, int, 000); +PARAM(irq_mask, int, 000); +PARAM_ARRAY(irq_list, irq_list, int, 1, 16, 000); +PARAM(cs_irq, int, 000); +PARAM(poll_interval, int, 000); +PARAM(poll_quick, int, 000); +PARAM(cycle_time, int, 000); /*====================================================================*/ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/pnp/isapnp.c .14440-linux-2.5.36.updated/drivers/pnp/isapnp.c --- .14440-linux-2.5.36/drivers/pnp/isapnp.c 2002-05-24 15:20:23.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/pnp/isapnp.c 2002-09-18 18:39:12.000000000 +1000 @@ -72,23 +72,23 @@ int isapnp_reserve_mem[16] = { [0 ... 15 MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Generic ISA Plug & Play support"); -MODULE_PARM(isapnp_disable, "i"); +PARAM(isapnp_disable, int, 000); MODULE_PARM_DESC(isapnp_disable, "ISA Plug & Play disable"); -MODULE_PARM(isapnp_rdp, "i"); +PARAM(isapnp_rdp, int, 000); MODULE_PARM_DESC(isapnp_rdp, "ISA Plug & Play read data port"); -MODULE_PARM(isapnp_reset, "i"); +PARAM(isapnp_reset, int, 000); MODULE_PARM_DESC(isapnp_reset, "ISA Plug & Play reset all cards"); -MODULE_PARM(isapnp_skip_pci_scan, "i"); +PARAM(isapnp_skip_pci_scan, int, 000); MODULE_PARM_DESC(isapnp_skip_pci_scan, "ISA Plug & Play skip PCI resource scanning"); -MODULE_PARM(isapnp_verbose, "i"); +PARAM(isapnp_verbose, int, 000); MODULE_PARM_DESC(isapnp_verbose, "ISA Plug & Play verbose mode"); -MODULE_PARM(isapnp_reserve_irq, "1-16i"); +PARAM_ARRAY(isapnp_reserve_irq, isapnp_reserve_irq, int, 1, 16, 000); MODULE_PARM_DESC(isapnp_reserve_irq, "ISA Plug & Play - reserve IRQ line(s)"); -MODULE_PARM(isapnp_reserve_dma, "1-8i"); +PARAM_ARRAY(isapnp_reserve_dma, isapnp_reserve_dma, int, 1, 8, 000); MODULE_PARM_DESC(isapnp_reserve_dma, "ISA Plug & Play - reserve DMA channel(s)"); -MODULE_PARM(isapnp_reserve_io, "1-16i"); +PARAM_ARRAY(isapnp_reserve_io, isapnp_reserve_io, int, 1, 16, 000); MODULE_PARM_DESC(isapnp_reserve_io, "ISA Plug & Play - reserve I/O region(s) - port,size"); -MODULE_PARM(isapnp_reserve_mem, "1-16i"); +PARAM_ARRAY(isapnp_reserve_mem, isapnp_reserve_mem, int, 1, 16, 000); MODULE_PARM_DESC(isapnp_reserve_mem, "ISA Plug & Play - reserve memory region(s) - address,size"); MODULE_LICENSE("GPL"); @@ -2420,86 +2420,4 @@ void cleanup_module(void) isapnp_free_all_resources(); } } - -#else - -/* format is: noisapnp */ - -static int __init isapnp_setup_disable(char *str) -{ - isapnp_disable = 1; - return 1; -} - -__setup("noisapnp", isapnp_setup_disable); - -/* format is: isapnp=rdp,reset,skip_pci_scan,verbose */ - -static int __init isapnp_setup_isapnp(char *str) -{ - (void)((get_option(&str,&isapnp_rdp) == 2) && - (get_option(&str,&isapnp_reset) == 2) && - (get_option(&str,&isapnp_skip_pci_scan) == 2) && - (get_option(&str,&isapnp_verbose) == 2)); - return 1; -} - -__setup("isapnp=", isapnp_setup_isapnp); - -/* format is: isapnp_reserve_irq=irq1[,irq2] .... */ - -static int __init isapnp_setup_reserve_irq(char *str) -{ - int i; - - for (i = 0; i < 16; i++) - if (get_option(&str,&isapnp_reserve_irq[i]) != 2) - break; - return 1; -} - -__setup("isapnp_reserve_irq=", isapnp_setup_reserve_irq); - -/* format is: isapnp_reserve_dma=dma1[,dma2] .... */ - -static int __init isapnp_setup_reserve_dma(char *str) -{ - int i; - - for (i = 0; i < 8; i++) - if (get_option(&str,&isapnp_reserve_dma[i]) != 2) - break; - return 1; -} - -__setup("isapnp_reserve_dma=", isapnp_setup_reserve_dma); - -/* format is: isapnp_reserve_io=io1,size1[,io2,size2] .... */ - -static int __init isapnp_setup_reserve_io(char *str) -{ - int i; - - for (i = 0; i < 16; i++) - if (get_option(&str,&isapnp_reserve_io[i]) != 2) - break; - return 1; -} - -__setup("isapnp_reserve_io=", isapnp_setup_reserve_io); - -/* format is: isapnp_reserve_mem=mem1,size1[,mem2,size2] .... */ - -static int __init isapnp_setup_reserve_mem(char *str) -{ - int i; - - for (i = 0; i < 16; i++) - if (get_option(&str,&isapnp_reserve_mem[i]) != 2) - break; - return 1; -} - -__setup("isapnp_reserve_mem=", isapnp_setup_reserve_mem); - #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/s390/block/xpram.c .14440-linux-2.5.36.updated/drivers/s390/block/xpram.c --- .14440-linux-2.5.36/drivers/s390/block/xpram.c 2002-08-11 15:31:40.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/s390/block/xpram.c 2002-09-18 18:52:01.000000000 +1000 @@ -69,8 +69,8 @@ static devfs_handle_t xpram_devfs_handle static int devs = XPRAM_DEVS; static unsigned long sizes[XPRAM_MAX_DEVS]; -MODULE_PARM(devs,"i"); -MODULE_PARM(sizes,"1-" __MODULE_STRING(XPRAM_MAX_DEVS) "i"); +PARAM(devs, int, 000); +PARAM_ARRAY(sizes, sizes, int, 1, XPRAM_MAX_DEVS, 000); MODULE_PARM_DESC(devs, "number of devices (\"partitions\"), " \ "the default is " __MODULE_STRING(XPRAM_DEVS) "\n"); @@ -104,7 +104,7 @@ MODULE_LICENSE("GPL"); * partition size (if provided). A parsing error of a value * results in this value being set to -EINVAL. */ -static int __init xpram_setup (char *str) +static int __init xpram_setup (char *str, struct kernel_param *kp) { char *cp; int i; @@ -128,10 +128,10 @@ static int __init xpram_setup (char *str PRINT_WARN("partition sizes list has too many entries.\n"); else if (*cp != 0) PRINT_WARN("ignored '%s' at end of parameter string.\n", cp); - return 1; + return 0; } -__setup("xpram_parts=", xpram_setup); +PARAM_CALL(xpram_parts, xpram_setup, NULL); #endif /* diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/s390/char/hwc_cpi.c .14440-linux-2.5.36.updated/drivers/s390/char/hwc_cpi.c --- .14440-linux-2.5.36/drivers/s390/char/hwc_cpi.c 2002-06-10 16:03:50.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/s390/char/hwc_cpi.c 2002-09-18 18:39:12.000000000 +1000 @@ -63,12 +63,12 @@ MODULE_DESCRIPTION ( "identify this operating system instance to the S/390 or zSeries hardware"); static char *system_name = NULL; -MODULE_PARM (system_name, "s"); +PARAM(system_name, charp, 000); MODULE_PARM_DESC (system_name, "e.g. hostname - max. 8 characters"); static char *sysplex_name = NULL; #ifdef ALLOW_SYSPLEX_NAME -MODULE_PARM (sysplex_name, "s"); +PARAM(sysplex_name, charp, 000); MODULE_PARM_DESC (sysplex_name, "if applicable - max. 8 characters"); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/s390/char/tuball.c .14440-linux-2.5.36.updated/drivers/s390/char/tuball.c --- .14440-linux-2.5.36/drivers/s390/char/tuball.c 2002-06-09 17:22:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/s390/char/tuball.c 2002-09-18 18:39:12.000000000 +1000 @@ -26,9 +26,9 @@ int tubdebug; int tubscrolltime = -1; static int tubxcorrect = 1; /* Do correct ebc<->asc tables */ #ifdef MODULE -MODULE_PARM(tubdebug, "i"); -MODULE_PARM(tubscrolltime, "i"); -MODULE_PARM(tubxcorrect, "i"); +PARAM(tubdebug, int, 000); +PARAM(tubscrolltime, int, 000); +PARAM(tubxcorrect, int, 000); #endif /* * Values for tubdebug and their effects: diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/sbus/audio/dbri.c .14440-linux-2.5.36.updated/drivers/sbus/audio/dbri.c --- .14440-linux-2.5.36/drivers/sbus/audio/dbri.c 2002-06-12 22:38:31.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/sbus/audio/dbri.c 2002-09-18 18:39:12.000000000 +1000 @@ -81,10 +81,10 @@ #define D_DESC (1<<5) static int dbri_debug = 0; -MODULE_PARM(dbri_debug, "i"); +PARAM(dbri_debug, int, 000); static int dbri_trace = 0; -MODULE_PARM(dbri_trace, "i"); +PARAM(dbri_trace, int, 000); #define tprintk(x) if(dbri_trace) printk x static char *cmds[] = { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/sbus/char/aurora.c .14440-linux-2.5.36.updated/drivers/sbus/char/aurora.c --- .14440-linux-2.5.36/drivers/sbus/char/aurora.c 2002-05-24 15:20:24.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/sbus/char/aurora.c 2002-09-18 18:39:12.000000000 +1000 @@ -2433,10 +2433,10 @@ int irq = 0; int irq1 = 0; int irq2 = 0; int irq3 = 0; -MODULE_PARM(irq , "i"); -MODULE_PARM(irq1, "i"); -MODULE_PARM(irq2, "i"); -MODULE_PARM(irq3, "i"); +PARAM(irq, int, 000); +PARAM(irq1, int, 000); +PARAM(irq2, int, 000); +PARAM(irq3, int, 000); static int __init aurora_init(void) { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/sbus/char/cpwatchdog.c .14440-linux-2.5.36.updated/drivers/sbus/char/cpwatchdog.c --- .14440-linux-2.5.36/drivers/sbus/char/cpwatchdog.c 2002-08-11 15:31:40.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/sbus/char/cpwatchdog.c 2002-09-18 19:02:00.000000000 +1000 @@ -180,11 +180,11 @@ static int wd1_timeout = 0; static int wd2_timeout = 0; #ifdef MODULE -MODULE_PARM (wd0_timeout, "i"); +PARAM (wd0_timeout, int, 000); MODULE_PARM_DESC(wd0_timeout, "Default watchdog0 timeout in 1/10secs"); -MODULE_PARM (wd1_timeout, "i"); +PARAM (wd1_timeout, int, 000); MODULE_PARM_DESC(wd1_timeout, "Default watchdog1 timeout in 1/10secs"); -MODULE_PARM (wd2_timeout, "i"); +PARAM (wd2_timeout, int, 000); MODULE_PARM_DESC(wd2_timeout, "Default watchdog2 timeout in 1/10secs"); MODULE_AUTHOR @@ -194,7 +194,6 @@ MODULE_DESCRIPTION MODULE_LICENSE("GPL"); MODULE_SUPPORTED_DEVICE ("watchdog"); -#endif /* ifdef MODULE */ /* Forward declarations of internal methods */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/sbus/char/riowatchdog.c .14440-linux-2.5.36.updated/drivers/sbus/char/riowatchdog.c --- .14440-linux-2.5.36/drivers/sbus/char/riowatchdog.c 2002-08-11 15:31:40.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/sbus/char/riowatchdog.c 2002-09-18 18:39:12.000000000 +1000 @@ -59,7 +59,7 @@ static void *riowd_regs; #define WDTO_INDEX 0x05 static int riowd_timeout = 1; /* in minutes */ -MODULE_PARM(riowd_timeout,"i"); +PARAM(riowd_timeout, int, 000); MODULE_PARM_DESC(riowd_timeout, "Watchdog timeout in minutes"); #if 0 /* Currently unused. */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/AM53C974.c .14440-linux-2.5.36.updated/drivers/scsi/AM53C974.c --- .14440-linux-2.5.36/drivers/scsi/AM53C974.c 2002-06-18 02:18:29.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/AM53C974.c 2002-09-18 18:39:12.000000000 +1000 @@ -571,20 +571,19 @@ static void AM53C974_keywait(void) restore_flags(flags); } -#ifndef MODULE /************************************************************************** -* Function : AM53C974_setup(char *str) +* Function : AM53C974_setup(char *str, struct kernel_param *kp) * -* Purpose : LILO command line initialization of the overrides array, +* Purpose : boot and insmod command line initialization of the overrides array, * * Input : str - parameter string. * -* Returns : 1. +* Returns : 0. * * NOTE : this function needs to be declared as an external function * in init/main.c and included there in the bootsetups list ***************************************************************************/ -static int AM53C974_setup(char *str) +static int AM53C974_setup(char *str, struct kernel_param *kp) { int ints[5]; @@ -611,11 +610,9 @@ static int AM53C974_setup(char *str) printk("AM53C974_setup: too many overrides\n"); } - return 1; + return 0; } -__setup("AM53C974=", AM53C974_setup); - -#endif /* !MODULE */ +PARAM_CALL(overrides, AM53C974_setup, NULL); /************************************************************************** * Function : int AM53C974_pci_detect(Scsi_Host_Template *tpnt) @@ -2446,11 +2443,6 @@ static int AM53C974_release(struct Scsi_ scsi_unregister(shp); return 0; } - - -/* You can specify overrides=a,b,c,d in the same format at AM53C974=a,b,c,d - on boot up */ -MODULE_PARM(overrides, "1-32i"); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/BusLogic.c .14440-linux-2.5.36.updated/drivers/scsi/BusLogic.c --- .14440-linux-2.5.36/drivers/scsi/BusLogic.c 2002-07-27 15:24:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/BusLogic.c 2002-09-18 18:39:12.000000000 +1000 @@ -80,7 +80,7 @@ static BusLogic_DriverOptions_T #ifdef MODULE static char *BusLogic; -MODULE_PARM(BusLogic, "s"); +PARAM(BusLogic, charp, 000); #endif @@ -5041,7 +5041,7 @@ static int __init BusLogic_ParseDriverOp */ static int __init -BusLogic_Setup(char *str) +BusLogic_Setup(char *str, struct kernel_param *kp) { int ints[3]; @@ -5057,7 +5057,7 @@ BusLogic_Setup(char *str) return BusLogic_ParseDriverOptions(str); } -__setup("BusLogic=", BusLogic_Setup); +PARAM_CALL(BusLogic, BusLogic_Setup, NULL); /* Get it all started diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/BusLogic.h .14440-linux-2.5.36.updated/drivers/scsi/BusLogic.h --- .14440-linux-2.5.36/drivers/scsi/BusLogic.h 2002-07-27 15:24:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/BusLogic.h 2002-09-18 18:39:12.000000000 +1000 @@ -1806,7 +1806,7 @@ int BusLogic_DetectHostAdapter(SCSI_Host int BusLogic_ReleaseHostAdapter(SCSI_Host_T *) __init; static boolean BusLogic_ParseKeyword(char **, char *) __init; static int BusLogic_ParseDriverOptions(char *) __init; -static int BusLogic_Setup(char *) __init; +static int BusLogic_Setup(char *, struct kernel_param *) __init; #endif /* BusLogic_DriverVersion */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/NCR_D700.c .14440-linux-2.5.36.updated/drivers/scsi/NCR_D700.c --- .14440-linux-2.5.36/drivers/scsi/NCR_D700.c 2002-06-18 02:18:29.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/NCR_D700.c 2002-09-18 18:39:12.000000000 +1000 @@ -134,7 +134,7 @@ char *NCR_D700; /* command line from i MODULE_AUTHOR("James Bottomley"); MODULE_DESCRIPTION("NCR Dual700 SCSI Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(NCR_D700, "s"); +PARAM(NCR_D700, charp, 000); static __u8 __initdata id_array[2*(MCA_MAX_SLOT_NR + 1)] = { [0 ... 2*(MCA_MAX_SLOT_NR + 1)-1] = 7 }; @@ -178,10 +178,6 @@ param_setup(char *string) return 1; } -#ifndef MODULE -__setup("NCR_D700=", param_setup); -#endif - /* Detect a D700 card. Note, because of the set up---the chips are * essentially connectecd to the MCA bus independently, it is easier * to set them up as two separate host adapters, rather than one diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/aha152x.c .14440-linux-2.5.36.updated/drivers/scsi/aha152x.c --- .14440-linux-2.5.36/drivers/scsi/aha152x.c 2002-07-25 10:13:09.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/aha152x.c 2002-09-18 18:39:12.000000000 +1000 @@ -343,56 +343,56 @@ MODULE_AUTHOR("Jürgen Fischer"); MODULE_DESCRIPTION(AHA152X_REVID); MODULE_LICENSE("GPL"); -MODULE_PARM(io, "1-2i"); +PARAM_ARRAY(io, io, int, 1, 2, 000); MODULE_PARM_DESC(io,"base io address of controller"); static int io[] = {0, 0}; -MODULE_PARM(irq, "1-2i"); +PARAM_ARRAY(irq, irq, int, 1, 2, 000); MODULE_PARM_DESC(irq,"interrupt for controller"); static int irq[] = {0, 0}; -MODULE_PARM(scsiid, "1-2i"); +PARAM_ARRAY(scsiid, scsiid, int, 1, 2, 000); MODULE_PARM_DESC(scsiid,"scsi id of controller"); static int scsiid[] = {7, 7}; -MODULE_PARM(reconnect, "1-2i"); +PARAM_ARRAY(reconnect, reconnect, int, 1, 2, 000); MODULE_PARM_DESC(reconnect,"allow targets to disconnect"); static int reconnect[] = {1, 1}; -MODULE_PARM(parity, "1-2i"); +PARAM_ARRAY(parity, parity, int, 1, 2, 000); MODULE_PARM_DESC(parity,"use scsi parity"); static int parity[] = {1, 1}; -MODULE_PARM(sync, "1-2i"); +PARAM_ARRAY(sync, sync, int, 1, 2, 000); MODULE_PARM_DESC(sync,"use synchronous transfers"); static int sync[] = {1, 1}; -MODULE_PARM(delay, "1-2i"); +PARAM_ARRAY(delay, delay, int, 1, 2, 000); MODULE_PARM_DESC(delay,"scsi reset delay"); static int delay[] = {DELAY_DEFAULT, DELAY_DEFAULT}; -MODULE_PARM(exttrans, "1-2i"); +PARAM_ARRAY(exttrans, exttrans, int, 1, 2, 000); MODULE_PARM_DESC(exttrans,"use extended translation"); static int exttrans[] = {0, 0}; #if !defined(AHA152X_DEBUG) -MODULE_PARM(aha152x, "1-8i"); +PARAM_ARRAY(aha152x, aha152x, int, 1, 8, 000); MODULE_PARM_DESC(aha152x, "parameters for first controller"); static int aha152x[] = {0, 11, 7, 1, 1, 0, DELAY_DEFAULT, 0}; -MODULE_PARM(aha152x1, "1-8i"); +PARAM_ARRAY(aha152x1, aha152x1, int, 1, 8, 000); MODULE_PARM_DESC(aha152x1, "parameters for second controller"); static int aha152x1[] = {0, 11, 7, 1, 1, 0, DELAY_DEFAULT, 0}; #else -MODULE_PARM(debug, "1-2i"); +PARAM_ARRAY(debug, debug, int, 1, 2, 000); MODULE_PARM_DESC(debug, "flags for driver debugging"); static int debug[] = {DEBUG_DEFAULT, DEBUG_DEFAULT}; -MODULE_PARM(aha152x, "1-9i"); +PARAM_ARRAY(aha152x, aha152x, int, 1, 9, 000); MODULE_PARM_DESC(aha152x, "parameters for first controller"); static int aha152x[] = {0, 11, 7, 1, 1, 1, DELAY_DEFAULT, 0, DEBUG_DEFAULT}; -MODULE_PARM(aha152x1, "1-9i"); +PARAM_ARRAY(aha152x1, aha152x1, int, 1, 9, 000); MODULE_PARM_DESC(aha152x1, "parameters for second controller"); static int aha152x1[] = {0, 11, 7, 1, 1, 1, DELAY_DEFAULT, 0, DEBUG_DEFAULT}; #endif /* !defined(AHA152X_DEBUG) */ @@ -844,7 +844,7 @@ void aha152x_setup(char *str, int *ints) #endif #if !defined(MODULE) -static int __init do_setup(char *str) +static int __init do_setup(char *str, struct kernel_param *kp) { #if defined(AHA152X_DEBUG) @@ -860,7 +860,7 @@ static int __init do_setup(char *str) return count"); MODULE_DESCRIPTION("Adaptec Aic77XX/78XX SCSI Host Bus Adapter driver"); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,10) MODULE_LICENSE("Dual BSD/GPL"); #endif -MODULE_PARM(aic7xxx, "s"); MODULE_PARM_DESC(aic7xxx, "period delimited, options string. verbose Enable verbose/diagnostic logging no_probe Disable EISA/VLB controller probing @@ -418,7 +405,6 @@ MODULE_PARM_DESC(aic7xxx, "period delimi options aic7xxx='\"verbose.no_probe.tag_info:{{}.{}.{..10}}.seltime:1\"' "); -#endif static void ahc_linux_handle_scsi_status(struct ahc_softc *, struct ahc_linux_device *, @@ -995,7 +981,7 @@ ahc_linux_setup_tag_info(char *p, char * * ie. aic7xxx=stpwlev:1,extended */ int -aic7xxx_setup(char *s) +aic7xxx_setup(char *s, struct kernel_param *kp) { int i, n; char *p; @@ -1040,13 +1026,10 @@ aic7xxx_setup(char *s) } } register_reboot_notifier(&ahc_linux_notifier); - return 1; + return 0; } -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0) -__setup("aic7xxx=", aic7xxx_setup); -#endif - +PARAM_CALL(aic7xxx, aic7xxx_setup, NULL); int aic7xxx_verbose; /* @@ -1069,19 +1052,6 @@ ahc_linux_detect(Scsi_Host_Template *tem printf("ahc_linux_detect: Unable to attach\n"); return (0); } -#ifdef MODULE - /* - * If we've been passed any parameters, process them now. - */ - if (aic7xxx) - aic7xxx_setup(aic7xxx); - if (dummy_buffer[0] != 'P') - printk(KERN_WARNING -"aic7xxx: Please read the file /usr/src/linux/drivers/scsi/README.aic7xxx\n" -"aic7xxx: to see the proper way to specify options to the aic7xxx module\n" -"aic7xxx: Specifically, don't use any commas when passing arguments to\n" -"aic7xxx: insmod or else it might trash certain memory areas.\n"); -#endif #if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0) template->proc_name = "aic7xxx"; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/aic7xxx_old.c .14440-linux-2.5.36.updated/drivers/scsi/aic7xxx_old.c --- .14440-linux-2.5.36/drivers/scsi/aic7xxx_old.c 2002-08-28 09:29:46.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/aic7xxx_old.c 2002-09-18 18:39:12.000000000 +1000 @@ -1301,21 +1301,6 @@ static int aic7xxx_scbram = 0; * is the final value. */ static int aic7xxx_seltime = 0x10; -/* - * So that insmod can find the variable and make it point to something - */ -#ifdef MODULE -static char * aic7xxx = NULL; -MODULE_PARM(aic7xxx, "s"); - -/* - * Just in case someone uses commas to separate items on the insmod - * command line, we define a dummy buffer here to avoid having insmod - * write wild stuff into our code segment - */ -static char dummy_buffer[60] = "Please don't trounce on me insmod!!\n"; - -#endif #define VERBOSE_NORMAL 0x0000 #define VERBOSE_NEGOTIATION 0x0001 @@ -1414,7 +1399,7 @@ aic_outb(struct aic7xxx_host *p, unsigne * ie. aic7xxx=unpause:0x0A,extended *-F*************************************************************************/ static int -aic7xxx_setup(char *s) +aic7xxx_setup(char *s, struct kernel_param *kp) { int i, n; char *p; @@ -1554,7 +1539,7 @@ aic7xxx_setup(char *s) return 1; } -__setup("aic7xxx=", aic7xxx_setup); +PARAM_CALL(aic7xxx, aic7xxx_setup, NULL); /*+F************************************************************************* * Function: @@ -9475,24 +9460,6 @@ aic7xxx_detect(Scsi_Host_Template *templ unsigned int slot, base; #endif -#ifdef MODULE - /* - * If we are called as a module, the aic7xxx pointer may not be null - * and it would point to our bootup string, just like on the lilo - * command line. IF not NULL, then process this config string with - * aic7xxx_setup - */ - if(aic7xxx) - aic7xxx_setup(aic7xxx); - if(dummy_buffer[0] != 'P') - printk(KERN_WARNING "aic7xxx: Please read the file /usr/src/linux/drivers" - "/scsi/README.aic7xxx\n" - "aic7xxx: to see the proper way to specify options to the aic7xxx " - "module\n" - "aic7xxx: Specifically, don't use any commas when passing arguments to\n" - "aic7xxx: insmod or else it might trash certain memory areas.\n"); -#endif - template->proc_name = "aic7xxx"; template->sg_tablesize = AIC7XXX_MAX_SG; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/atari_scsi.c .14440-linux-2.5.36.updated/drivers/scsi/atari_scsi.c --- .14440-linux-2.5.36/drivers/scsi/atari_scsi.c 2002-06-18 02:18:29.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/atari_scsi.c 2002-09-18 18:39:12.000000000 +1000 @@ -239,17 +239,17 @@ static int atari_read_overruns = 0; #endif static int setup_can_queue = -1; -MODULE_PARM(setup_can_queue, "i"); +PARAM(setup_can_queue, int, 000); static int setup_cmd_per_lun = -1; -MODULE_PARM(setup_cmd_per_lun, "i"); +PARAM(setup_cmd_per_lun, int, 000); static int setup_sg_tablesize = -1; -MODULE_PARM(setup_sg_tablesize, "i"); +PARAM(setup_sg_tablesize, int, 000); #ifdef SUPPORT_TAGS static int setup_use_tagged_queuing = -1; -MODULE_PARM(setup_use_tagged_queuing, "i"); +PARAM(setup_use_tagged_queuing, int, 000); #endif static int setup_hostid = -1; -MODULE_PARM(setup_hostid, "i"); +PARAM(setup_hostid, int, 000); #if defined(CONFIG_TT_DMA_EMUL) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/eata.c .14440-linux-2.5.36.updated/drivers/scsi/eata.c --- .14440-linux-2.5.36/drivers/scsi/eata.c 2002-07-25 10:13:10.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/eata.c 2002-09-18 18:39:12.000000000 +1000 @@ -419,15 +419,15 @@ #if defined(MODULE) #include -MODULE_PARM(boot_options, "s"); -MODULE_PARM(io_port, "1-" __MODULE_STRING(MAX_INT_PARAM) "i"); -MODULE_PARM(linked_comm, "i"); -MODULE_PARM(tagged_comm, "i"); -MODULE_PARM(link_statistics, "i"); -MODULE_PARM(max_queue_depth, "i"); -MODULE_PARM(tag_mode, "i"); -MODULE_PARM(ext_tran, "i"); -MODULE_PARM(rev_scan, "i"); +PARAM(boot_options, charp, 000); +PARAM_ARRAY(io_port, io_port, int, 1, MAX_INT_PARAM, 000); +PARAM(linked_comm, int, 000); +PARAM(tagged_comm, int, 000); +PARAM(link_statistics, int, 000); +PARAM(max_queue_depth, int, 000); +PARAM(tag_mode, int, 000); +PARAM(ext_tran, int, 000); +PARAM(rev_scan, int, 000); MODULE_AUTHOR("Dario Ballabio"); #endif @@ -1246,7 +1246,7 @@ static void internal_setup(char *str, in return; } -static int option_setup(char *str) { +static int option_setup(char *str, struct kernel_param *kp) { int ints[MAX_INT_PARAM]; char *cur = str; int i = 1; @@ -1311,7 +1311,7 @@ int eata2x_detect(Scsi_Host_Template *tp tpnt->proc_name = "eata2x"; - if(boot_options) option_setup(boot_options); + if(boot_options) option_setup(boot_options, NULL); #if defined(MODULE) /* io_port could have been modified when loading as a module */ @@ -2244,7 +2244,6 @@ static Scsi_Host_Template driver_templat #include "scsi_module.c" -#ifndef MODULE -__setup("eata=", option_setup); +PARAM_CALL(eata, option_setup, NULL); #endif /* end MODULE */ MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/fdomain.c .14440-linux-2.5.36.updated/drivers/scsi/fdomain.c --- .14440-linux-2.5.36/drivers/scsi/fdomain.c 2002-09-01 12:23:02.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/fdomain.c 2002-09-18 18:39:12.000000000 +1000 @@ -427,7 +427,7 @@ extern void do_fdomain_16x0 insmod fdomain fdomain=0x140,11 */ static char * fdomain = NULL; -MODULE_PARM(fdomain, "s"); +PARAM(fdomain, charp, 000); #endif static unsigned long addresses[] = { @@ -562,7 +562,7 @@ static void print_banner( struct Scsi_Ho printk( "\n" ); } -static int __init fdomain_setup( char *str ) +static int __init fdomain_setup(char *str, struct kernel_param *kp) { int ints[4]; @@ -572,7 +572,7 @@ static int __init fdomain_setup( char *s printk( "scsi: " " Usage: fdomain=,[,]\n" ); printk( "scsi: Bad LILO/INSMOD parameters?\n" ); - return 0; + return -EINVAL; } port_base = ints[0] >= 1 ? ints[1] : 0; @@ -581,10 +581,10 @@ static int __init fdomain_setup( char *s bios_major = bios_minor = -1; /* Use geometry for BIOS version >= 3.4 */ ++setup_called; - return 1; + return 0; } -__setup("fdomain=", fdomain_setup); +PARAM_CALL(fdomain, fdomain_setup, NULL); static void do_pause( unsigned amount ) /* Pause for amount*10 milliseconds */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/g_NCR5380.c .14440-linux-2.5.36.updated/drivers/scsi/g_NCR5380.c --- .14440-linux-2.5.36/drivers/scsi/g_NCR5380.c 2002-07-25 10:13:10.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/g_NCR5380.c 2002-09-18 19:15:35.000000000 +1000 @@ -889,13 +889,13 @@ static Scsi_Host_Template driver_templat #include #include "scsi_module.c" -MODULE_PARM(ncr_irq, "i"); -MODULE_PARM(ncr_dma, "i"); -MODULE_PARM(ncr_addr, "i"); -MODULE_PARM(ncr_5380, "i"); -MODULE_PARM(ncr_53c400, "i"); -MODULE_PARM(ncr_53c400a, "i"); -MODULE_PARM(dtc_3181e, "i"); +PARAM(ncr_irq, int, 000); +PARAM(ncr_dma, int, 000); +PARAM(ncr_addr, int, 000); +PARAM(ncr_5380, int, 000); +PARAM(ncr_53c400, int, 000); +PARAM(ncr_53c400a, int, 000); +PARAM(dtc_3181e, int, 000); MODULE_LICENSE("GPL"); @@ -909,8 +909,7 @@ static struct isapnp_device_id id_table[ MODULE_DEVICE_TABLE(isapnp, id_table); - -__setup("ncr5380=", do_NCR5380_setup); -__setup("ncr53c400=", do_NCR53C400_setup); -__setup("ncr53c400a=", do_NCR53C400A_setup); -__setup("dtc3181e=", do_DTC3181E_setup); +PARAM_CALL(ncr5380, do_NCR5380_setup, 000); +PARAM_CALL(ncr53c400, do_NCR53C400_setup, 000); +PARAM_CALL(ncr53c400a, do_NCR53C400A_setup, 000); +PARAM_CALL(dtc3181e, do_DTC3181E_setup, 000); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/gdth.c .14440-linux-2.5.36.updated/drivers/scsi/gdth.c --- .14440-linux-2.5.36/drivers/scsi/gdth.c 2002-07-25 10:13:10.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/gdth.c 2002-09-18 18:39:12.000000000 +1000 @@ -673,23 +673,21 @@ static int virt_ctr = 0; /* shared access */ static int shared_access = 0; -#ifdef MODULE #if LINUX_VERSION_CODE >= 0x02011A -/* parameters for modprobe/insmod */ -MODULE_PARM(irq, "i"); -MODULE_PARM(disable, "i"); -MODULE_PARM(reserve_mode, "i"); -MODULE_PARM(reserve_list, "4-" __MODULE_STRING(MAX_RES_ARGS) "i"); -MODULE_PARM(reverse_scan, "i"); -MODULE_PARM(hdr_channel, "i"); -MODULE_PARM(max_ids, "i"); -MODULE_PARM(rescan, "i"); -MODULE_PARM(virt_ctr, "i"); -MODULE_PARM(shared_access, "i"); +/* parameters for modprobe/insmod, or cmdline */ +PARAM_ARRAY(irq, irq, int, 1, 1, 000); +PARAM(disable, int, 000); +PARAM(reserve_mode, int, 000); +PARAM_ARRAY(reserve_list, reserve_list, int, 4, MAX_RES_ARGS, 000); +PARAM(reverse_scan, int, 000); +PARAM(hdr_channel, int, 000); +PARAM(max_ids, int, 000); +PARAM(rescan, int, 000); +PARAM(virt_ctr, int, 000); +PARAM(shared_access, int, 000); MODULE_AUTHOR("Achim Leubner"); MODULE_LICENSE("GPL"); #endif -#endif /* /proc support */ #if LINUX_VERSION_CODE >= 0x010300 @@ -3931,24 +3929,6 @@ GDTH_INITFUNC(void, internal_setup(char } } -GDTH_INITFUNC(int, option_setup(char *str)) -{ - int ints[MAXHA]; - char *cur = str; - int i = 1; - - TRACE2(("option_setup() str %s\n", str ? str:"NULL")); - - while (cur && isdigit(*cur) && i <= MAXHA) { - ints[i++] = simple_strtoul(cur, NULL, 0); - if ((cur = strchr(cur, ',')) != NULL) cur++; - } - - ints[0] = i - 1; - internal_setup(cur, ints); - return 1; -} - GDTH_INITFUNC(int, gdth_detect(Scsi_Host_Template *shtp)) { struct Scsi_Host *shp; @@ -4716,8 +4696,5 @@ GDTH_INITFUNC(void, gdth_setup(char *str static Scsi_Host_Template driver_template = GDTH; #include "scsi_module.c" -#ifndef MODULE -__setup("gdth=", option_setup); -#endif #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/ibmmca.c .14440-linux-2.5.36.updated/drivers/scsi/ibmmca.c --- .14440-linux-2.5.36/drivers/scsi/ibmmca.c 2002-07-25 10:13:10.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/ibmmca.c 2002-09-18 18:39:12.000000000 +1000 @@ -444,13 +444,13 @@ static int scsi_id[IM_MAX_HOSTS] = { 7, (that is kernel version 2.1.x) */ #if defined(MODULE) static char *boot_options = NULL; -MODULE_PARM(boot_options, "s"); -MODULE_PARM(io_port, "1-" __MODULE_STRING(IM_MAX_HOSTS) "i"); -MODULE_PARM(scsi_id, "1-" __MODULE_STRING(IM_MAX_HOSTS) "i"); -MODULE_PARM(display, "1i"); -MODULE_PARM(adisplay, "1i"); -MODULE_PARM(normal, "1i"); -MODULE_PARM(ansi, "1i"); +PARAM(boot_options, charp, 000); +PARAM_ARRAY(io_port, io_port, int, 1, IM_MAX_HOSTS, 000); +PARAM_ARRAY(scsi_id, scsi_id, int, 1, IM_MAX_HOSTS, 000); +PARAM(display, int, 000); +PARAM(adisplay, int, 000); +PARAM(normal, int, 000); +PARAM(ansi, int, 000); #endif /*counter of concurrent disk read/writes, to turn on/off disk led */ static int disk_rw_in_progress = 0; @@ -490,7 +490,7 @@ static int probe_bus_mode(int); static int device_exists (int, int, int *, int *); static struct Scsi_Host *ibmmca_register(Scsi_Host_Template *, int, int, int, char *); -static int option_setup(char *); +static int option_setup(char *, struct kernel_param *kp); /* local functions needed for proc_info */ static int ldn_access_load(int, int); static int ldn_access_total_read_write(int); @@ -2546,7 +2546,7 @@ void ibmmca_scsi_setup (char *str, int * internal_ibmmca_scsi_setup (str, ints); } -static int option_setup(char *str) +static int option_setup(char *str, struct kernel_param *kp) { int ints[IM_MAX_HOSTS]; char *cur = str; @@ -2561,7 +2561,7 @@ static int option_setup(char *str) return 0; } -__setup("ibmmcascsi=", option_setup); +PARAM_CALL(ibmmcascsi, option_setup, NULL); static Scsi_Host_Template driver_template = IBMMCA; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/in2000.c .14440-linux-2.5.36.updated/drivers/scsi/in2000.c --- .14440-linux-2.5.36/drivers/scsi/in2000.c 2002-07-25 10:13:10.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/in2000.c 2002-09-18 18:39:12.000000000 +1000 @@ -182,7 +182,7 @@ static char *setup_args[] = static char *setup_strings = 0; #ifdef MODULE_PARM -MODULE_PARM(setup_strings, "s"); +PARAM(setup_strings, charp, 000); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/ips.c .14440-linux-2.5.36.updated/drivers/scsi/ips.c --- .14440-linux-2.5.36/drivers/scsi/ips.c 2002-08-28 09:29:46.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/ips.c 2002-09-18 19:13:32.000000000 +1000 @@ -193,7 +193,7 @@ #ifdef MODULE static char *ips = NULL; - MODULE_PARM(ips, "s"); + PARAM(ips, charp, 000); #endif /* @@ -554,7 +554,7 @@ static int ips_init_phase1( struct pci_d /****************************************************************************/ #if LINUX_VERSION_CODE >= LinuxVersionCode(2,4,0) static int -ips_setup(char *ips_str) { +ips_setup(char *ips_str, struct kernel_param *kp) { #else void ips_setup(char *ips_str, int *dummy) { @@ -595,10 +595,10 @@ ips_setup(char *ips_str, int *dummy) { } } - return (1); + return (0); } -__setup("ips=", ips_setup); +PARAM_CALL(ips, ips_setup, NULL); #else diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/lasi700.c .14440-linux-2.5.36.updated/drivers/scsi/lasi700.c --- .14440-linux-2.5.36/drivers/scsi/lasi700.c 2002-06-17 23:19:22.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/lasi700.c 2002-09-18 18:39:12.000000000 +1000 @@ -61,16 +61,12 @@ #include "lasi700.h" #include "53c700.h" -#ifdef MODULE - char *lasi700; /* command line from insmod */ MODULE_AUTHOR("James Bottomley"); MODULE_DESCRIPTION("lasi700 SCSI Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(lasi700, "s"); - -#endif +PARAM(lasi700, charp, 000); #ifdef MODULE #define ARG_SEP ' ' @@ -81,6 +77,17 @@ MODULE_PARM(lasi700, "s"); static unsigned long __initdata opt_base; static int __initdata opt_irq; +static Scsi_Host_Template __initdata *host_tpnt = NULL; +static int __initdata host_count = 0; +static struct parisc_device_id lasi700_scsi_tbl[] = { + LASI700_ID_TABLE, + { 0 } +}; + +MODULE_DEVICE_TABLE(parisc, lasi700_scsi_tbl); + +static struct parisc_driver lasi700_driver = LASI700_DRIVER; + static int __init param_setup(char *string) { @@ -100,10 +107,6 @@ param_setup(char *string) return 1; } -#ifndef MODULE -__setup("lasi700=", param_setup); -#endif - static Scsi_Host_Template __initdata *host_tpnt = NULL; static int __initdata host_count = 0; static struct parisc_device_id lasi700_scsi_tbl[] = { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/mac_esp.c .14440-linux-2.5.36.updated/drivers/scsi/mac_esp.c --- .14440-linux-2.5.36/drivers/scsi/mac_esp.c 2002-07-25 10:13:11.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/mac_esp.c 2002-09-18 18:39:13.000000000 +1000 @@ -237,10 +237,10 @@ static int __init mac_esp_setup(char *st } #endif #endif - return 1; + return 0; } -__setup("mac53c9x=", mac_esp_setup); +PARAM_CALL(mac53c9x, mac_esp_setup, NULL); /* * ESP address 'detection' diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/mac_scsi.c .14440-linux-2.5.36.updated/drivers/scsi/mac_scsi.c --- .14440-linux-2.5.36/drivers/scsi/mac_scsi.c 2002-06-18 02:18:29.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/mac_scsi.c 2002-09-18 18:39:13.000000000 +1000 @@ -192,10 +192,10 @@ static int __init mac_scsi_setup(char *s } #endif #endif - return 1; + return 0; } -__setup("mac5380=", mac_scsi_setup); +PARAM_CALL(mac5380, mac_scsi_setup, NULL); #if 0 #define MAC_ADDRESS(card) (ecard_address((card), ECARD_IOC, ECARD_SLOW) + 0x800) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/megaraid.c .14440-linux-2.5.36.updated/drivers/scsi/megaraid.c --- .14440-linux-2.5.36/drivers/scsi/megaraid.c 2002-07-25 10:13:11.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/megaraid.c 2002-09-18 18:39:13.000000000 +1000 @@ -734,7 +734,7 @@ static int ser_printk (const char *fmt, static char *megaraid; #if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,0) /* 0x20100 */ #ifdef MODULE -MODULE_PARM (megaraid, "s"); +PARAM(megaraid, charp, 000); #endif #endif static int skip_id = -1; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/ncr53c8xx.c .14440-linux-2.5.36.updated/drivers/scsi/ncr53c8xx.c --- .14440-linux-2.5.36/drivers/scsi/ncr53c8xx.c 2002-07-17 10:25:50.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/ncr53c8xx.c 2002-09-18 18:39:13.000000000 +1000 @@ -9184,22 +9184,13 @@ static struct proc_dir_entry proc_scsi_n ** **========================================================== */ -#ifdef MODULE -char *ncr53c8xx = 0; /* command line passed by insmod */ -# if LINUX_VERSION_CODE >= LinuxVersionCode(2,1,30) -MODULE_PARM(ncr53c8xx, "s"); -# endif -#endif - -int __init ncr53c8xx_setup(char *str) +int __init ncr53c8xx_setup(char *str, struct kernel_param *kp) { return sym53c8xx__setup(str); } #if LINUX_VERSION_CODE >= LinuxVersionCode(2,3,13) -#ifndef MODULE -__setup("ncr53c8xx=", ncr53c8xx_setup); -#endif +PARAM_CALL(ncr53c8xx, ncr53c8xx_setup, NULL); #endif /*=================================================================== @@ -9244,11 +9235,6 @@ int __init ncr53c8xx_detect(Scsi_Host_Te tpnt->proc_info = ncr53c8xx_proc_info; #endif -#if defined(SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT) && defined(MODULE) -if (ncr53c8xx) - ncr53c8xx_setup(ncr53c8xx); -#endif - return sym53c8xx__detect(tpnt, ncr_chip_ids, sizeof(ncr_chip_ids)/sizeof(ncr_chip_ids[0])); } diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/osst.c .14440-linux-2.5.36.updated/drivers/scsi/osst.c --- .14440-linux-2.5.36/drivers/scsi/osst.c 2002-08-02 11:15:09.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/osst.c 2002-09-18 18:39:13.000000000 +1000 @@ -84,10 +84,10 @@ MODULE_AUTHOR("Willem Riede"); MODULE_DESCRIPTION("OnStream SCSI Tape Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(buffer_kbs, "i"); -MODULE_PARM(write_threshold_kbs, "i"); -MODULE_PARM(max_buffers, "i"); -MODULE_PARM(max_sg_segs, "i"); +PARAM(buffer_kbs, int, 000); +PARAM(write_threshold_kbs, int, 000); +PARAM(max_buffers, int, 000); +PARAM(max_sg_segs, int, 000); #else static struct osst_dev_parm { char *name; @@ -5337,48 +5337,6 @@ static void validate_options (void) // sizeof(os_header_t),sizeof(os_header_t)==OS_DATA_SIZE?"ok":"error"); #endif } - -#ifndef MODULE -/* Set the boot options. Syntax: osst=xxx,yyy,... - where xxx is buffer size in 1024 byte blocks and yyy is write threshold - in 1024 byte blocks. */ -static int __init osst_setup (char *str) -{ - int i, ints[5]; - char *stp; - - stp = get_options(str, ARRAY_SIZE(ints), ints); - - if (ints[0] > 0) { - for (i = 0; i < ints[0] && i < ARRAY_SIZE(parms); i++) - *parms[i].val = ints[i + 1]; - } else { - while (stp != NULL) { - for (i = 0; i < ARRAY_SIZE(parms); i++) { - int len = strlen(parms[i].name); - if (!strncmp(stp, parms[i].name, len) && - (*(stp + len) == ':' || *(stp + len) == '=')) { - *parms[i].val = - simple_strtoul(stp + len + 1, NULL, 0); - break; - } - } - if (i >= sizeof(parms) / sizeof(struct osst_dev_parm)) - printk(KERN_INFO "osst :I: Illegal parameter in '%s'\n", - stp); - stp = strchr(stp, ','); - if (stp) - stp++; - } - } - - return 1; -} - -__setup("osst=", osst_setup); - -#endif - static struct file_operations osst_fops = { read: osst_read, diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/pas16.c .14440-linux-2.5.36.updated/drivers/scsi/pas16.c --- .14440-linux-2.5.36/drivers/scsi/pas16.c 2002-07-25 10:13:11.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/pas16.c 2002-09-18 18:39:13.000000000 +1000 @@ -603,7 +603,7 @@ static Scsi_Host_Template driver_templat #include "scsi_module.c" #ifdef MODULE -MODULE_PARM(pas16_addr, "h"); -MODULE_PARM(pas16_irq, "i"); +PARAM(pas16_addr, short, 000); +PARAM(pas16_irq, int, 000); #endif MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/pcmcia/aha152x_stub.c .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/aha152x_stub.c --- .14440-linux-2.5.36/drivers/scsi/pcmcia/aha152x_stub.c 2002-05-24 15:20:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/aha152x_stub.c 2002-09-18 18:39:13.000000000 +1000 @@ -59,7 +59,7 @@ #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) static char *version = "aha152x_cs.c 1.54 2000/06/12 21:27:25 (David Hinds)"; @@ -83,14 +83,14 @@ static int synchronous = 0; static int reset_delay = 100; static int ext_trans = 0; -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); -MODULE_PARM(host_id, "i"); -MODULE_PARM(reconnect, "i"); -MODULE_PARM(parity, "i"); -MODULE_PARM(synchronous, "i"); -MODULE_PARM(reset_delay, "i"); -MODULE_PARM(ext_trans, "i"); +PARAM(irq_mask, int, 000); +PARAM_ARRAY(irq_list, irq_list, int, 1, 4, 000); +PARAM(host_id, int, 000); +PARAM(reconnect, int, 000); +PARAM(parity, int, 000); +PARAM(synchronous, int, 000); +PARAM(reset_delay, int, 000); +PARAM(ext_trans, int, 000); MODULE_LICENSE("Dual MPL/GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/pcmcia/fdomain_stub.c .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/fdomain_stub.c --- .14440-linux-2.5.36/drivers/scsi/pcmcia/fdomain_stub.c 2002-05-24 15:20:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/fdomain_stub.c 2002-09-18 18:39:13.000000000 +1000 @@ -56,7 +56,7 @@ #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) static char *version = "fdomain_cs.c 1.43 2000/06/12 21:27:25 (David Hinds)"; @@ -72,8 +72,8 @@ static char *version = static u_int irq_mask = 0xdeb8; static int irq_list[4] = { -1 }; -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); +PARAM(irq_mask, int, 000); +PARAM_ARRAY(irq_list, irq_list, int, 1, 4, 000); /*====================================================================*/ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/pcmcia/nsp_cs.c .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/nsp_cs.c --- .14440-linux-2.5.36/drivers/scsi/pcmcia/nsp_cs.c 2002-05-24 15:20:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/nsp_cs.c 2002-09-18 18:39:13.000000000 +1000 @@ -71,7 +71,7 @@ MODULE_LICENSE("GPL"); #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); MODULE_PARM_DESC(pc_debug, "set debug level"); static char *version = "$Id: nsp_cs.c,v 1.42 2001/09/10 10:30:58 elca Exp $"; #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) @@ -107,11 +107,11 @@ static struct proc_dir_entry proc_scsi_n /* Parameters that can be set with 'insmod' */ static unsigned int irq_mask = 0xffff; -MODULE_PARM(irq_mask, "i"); +PARAM(irq_mask, int, 000); MODULE_PARM_DESC(irq_mask, "IRQ mask bits"); static int irq_list[4] = { -1 }; -MODULE_PARM(irq_list, "1-4i"); +PARAM_ARRAY(irq_list, irq_list, int, 1, 4, 000); MODULE_PARM_DESC(irq_list, "IRQ number list"); /*----------------------------------------------------------------*/ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/pcmcia/qlogic_stub.c .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/qlogic_stub.c --- .14440-linux-2.5.36/drivers/scsi/pcmcia/qlogic_stub.c 2002-05-24 15:20:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/pcmcia/qlogic_stub.c 2002-09-18 18:39:13.000000000 +1000 @@ -63,7 +63,7 @@ extern void qlogicfas_preset(int port, i #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) static char *version = "qlogic_cs.c 1.79 2000/06/12 21:27:26 (David Hinds)"; @@ -79,8 +79,8 @@ static char *version = static u_int irq_mask = 0xdeb8; static int irq_list[4] = { -1 }; -MODULE_PARM(irq_mask, "i"); -MODULE_PARM(irq_list, "1-4i"); +PARAM(irq_mask, int, 000); +PARAM_ARRAY(irq_list, irq_list, int, 1, 4, 000); /*====================================================================*/ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/qla1280.c .14440-linux-2.5.36.updated/drivers/scsi/qla1280.c --- .14440-linux-2.5.36/drivers/scsi/qla1280.c 2002-07-25 10:13:11.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/qla1280.c 2002-09-18 19:12:17.000000000 +1000 @@ -481,7 +481,7 @@ static void __qla1280_dump_buffer(char * static char *options = NULL; /* insmod qla1280 options=verbose" */ -MODULE_PARM(options, "s"); +PARAM(options, charp, 000); #endif MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/scsi.c .14440-linux-2.5.36.updated/drivers/scsi/scsi.c --- .14440-linux-2.5.36/drivers/scsi/scsi.c 2002-07-07 02:12:20.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/scsi.c 2002-09-18 18:39:13.000000000 +1000 @@ -228,29 +228,8 @@ void scsi_initialize_queue(Scsi_Device clear_bit(QUEUE_FLAG_CLUSTER, &q->queue_flags); } -#ifdef MODULE -MODULE_PARM(scsi_logging_level, "i"); -MODULE_PARM_DESC(scsi_logging_level, "SCSI logging level; should be zero or nonzero"); - -#else - -static int __init scsi_logging_setup(char *str) -{ - int tmp; - - if (get_option(&str, &tmp) == 1) { - scsi_logging_level = (tmp ? ~0 : 0); - return 1; - } else { - printk(KERN_INFO "scsi_logging_setup : usage scsi_logging_level=n " - "(n should be 0 or non-zero)\n"); - return 0; - } -} - -__setup("scsi_logging=", scsi_logging_setup); - -#endif +PARAM(scsi_logging_level, int, S_IRUGO|S_IWUSR); +/*MODULE_PARM_DESC(scsi_logging_level, "SCSI logging level; should be zero or nonzero");*/ /* * Issue a command and wait for it to complete @@ -2003,10 +1982,13 @@ int scsi_unregister_host(Scsi_Host_Templ for (shpnt = scsi_hostlist; shpnt; shpnt = shpnt->next) { for (SDpnt = shpnt->host_queue; SDpnt; SDpnt = SDpnt->next) { + /* Why the module count???? --RR */ +#if 0 if (SDpnt->host->hostt == tpnt && SDpnt->host->hostt->module && GET_USE_COUNT(SDpnt->host->hostt->module)) goto err_out; +#endif /* * FIXME(eric) - We need to find a way to notify the * low level driver that we are shutting down - via the @@ -2274,11 +2256,15 @@ int scsi_unregister_device(struct Scsi_D struct Scsi_Device_Template *prev_spnt; lock_kernel(); + +/* Why do you care about use count??? --RR */ +#if 0 /* * If we are busy, this is not going to fly. */ if (GET_USE_COUNT(tpnt->module) != 0) goto error_out; +#endif /* * Next, detach the devices from the driver. @@ -2425,20 +2411,10 @@ static int __init scsi_host_no_init (cha static char *scsihosts; -MODULE_PARM(scsihosts, "s"); +PARAM(scsihosts, charp, S_IRUGO); MODULE_DESCRIPTION("SCSI core"); MODULE_LICENSE("GPL"); -#ifndef MODULE -int __init scsi_setup(char *str) -{ - scsihosts = str; - return 1; -} - -__setup("scsihosts=", scsi_setup); -#endif - static void *scsi_pool_alloc(int gfp_mask, void *data) { return kmem_cache_alloc(data, gfp_mask); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/scsi_scan.c .14440-linux-2.5.36.updated/drivers/scsi/scsi_scan.c --- .14440-linux-2.5.36/drivers/scsi/scsi_scan.c 2002-08-28 09:29:47.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/scsi_scan.c 2002-09-18 19:11:43.000000000 +1000 @@ -220,29 +220,9 @@ static unsigned int max_scsi_luns = MAX_ static unsigned int max_scsi_luns = 1; #endif -#ifdef MODULE -MODULE_PARM(max_scsi_luns, "i"); +PARAM(max_scsi_luns, int, 000); MODULE_PARM_DESC(max_scsi_luns, "last scsi LUN (should be between 1 and 2^32-1)"); -#else - -static int __init scsi_luns_setup(char *str) -{ - unsigned int tmp; - - if (get_option(&str, &tmp) == 1) { - max_scsi_luns = tmp; - return 1; - } else { - printk(KERN_WARNING "scsi_luns_setup: usage max_scsi_luns=n " - "(n should be between 1 and 2^32-1)\n"); - return 0; - } -} - -__setup("max_scsi_luns=", scsi_luns_setup); - -#endif #ifdef CONFIG_SCSI_REPORT_LUNS /* @@ -254,29 +234,10 @@ __setup("max_scsi_luns=", scsi_luns_setu */ static unsigned int max_scsi_report_luns = 128; -#ifdef MODULE -MODULE_PARM(max_scsi_report_luns, "i"); +PARAM(max_scsi_report_luns, int, 000); MODULE_PARM_DESC(max_scsi_report_luns, "REPORT LUNS maximum number of LUNS received (should be" " between 1 and 16384)"); -#else -static int __init scsi_report_luns_setup(char *str) -{ - unsigned int tmp; - - if (get_option(&str, &tmp) == 1) { - max_scsi_report_luns = tmp; - return 1; - } else { - printk(KERN_WARNING "scsi_report_luns_setup: usage" - " max_scsi_report_luns=n (n should be between 1" - " and 16384)\n"); - return 0; - } -} - -__setup("max_scsi_report_luns=", scsi_report_luns_setup); -#endif #endif /** diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/seagate.c .14440-linux-2.5.36.updated/drivers/scsi/seagate.c --- .14440-linux-2.5.36/drivers/scsi/seagate.c 2002-07-17 10:25:50.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/seagate.c 2002-09-18 18:39:13.000000000 +1000 @@ -248,14 +248,14 @@ static unsigned long st0x_dr; /* data re static volatile int st0x_aborted = 0; /* set when we are aborted, ie by a time out, etc. */ -static unsigned char controller_type = 0; /* set to SEAGATE for ST0x +static unsigned int controller_type = 0; /* set to SEAGATE for ST0x boards or FD for TMC-8xx boards */ static int irq = IRQ; -MODULE_PARM (base_address, "i"); -MODULE_PARM (controller_type, "b"); -MODULE_PARM (irq, "i"); +PARAM(base_address, int, S_IRUGO); +PARAM(controller_type, uint, S_IRUGO); +PARAM(irq, int, S_IRUGO); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/sg.c .14440-linux-2.5.36.updated/drivers/scsi/sg.c --- .14440-linux-2.5.36/drivers/scsi/sg.c 2002-09-01 12:23:02.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/sg.c 2002-09-18 19:11:00.000000000 +1000 @@ -1368,27 +1368,6 @@ sg_init() return 0; } -#ifndef MODULE -static int __init -sg_def_reserved_size_setup(char *str) -{ - int tmp; - - if (get_option(&str, &tmp) == 1) { - def_reserved_size = tmp; - if (tmp >= 0) - sg_big_buff = tmp; - return 1; - } else { - printk(KERN_WARNING "sg_def_reserved_size : usage " - "sg_def_reserved_size=n (n could be 65536, 131072 or 262144)\n"); - return 0; - } -} - -__setup("sg_def_reserved_size=", sg_def_reserved_size_setup); -#endif - /* Driverfs file support */ static ssize_t sg_device_kdev_read(struct device *driverfs_dev, char *page, @@ -1586,7 +1565,7 @@ MODULE_DESCRIPTION("SCSI generic (sg) dr MODULE_LICENSE("GPL"); #endif -MODULE_PARM(def_reserved_size, "i"); +PARAM(def_reserved_size, int, 000); MODULE_PARM_DESC(def_reserved_size, "size of buffer reserved for each fd"); static int __init diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/sim710.c .14440-linux-2.5.36.updated/drivers/scsi/sim710.c --- .14440-linux-2.5.36/drivers/scsi/sim710.c 2002-05-24 15:20:25.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/sim710.c 2002-09-18 18:39:13.000000000 +1000 @@ -189,7 +189,7 @@ MODULE_AUTHOR("Richard Hirst"); MODULE_DESCRIPTION("Simple NCR53C710 driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(sim710, "s"); +PARAM(sim710, charp, 000); #endif @@ -304,7 +304,7 @@ static int full_reset(struct Scsi_Host * #endif static int -param_setup(char *str) +param_setup(char *str, struct kernel_param *kp) { char *cur = str; char *pc, *pv; @@ -342,7 +342,7 @@ param_setup(char *str) opt_noneg = val; else if (!strncmp(cur, "disabled:", 5)) { no_of_boards = -1; - return 1; + return 0; } #ifdef DEBUG else if (!strncmp(cur, "debug:", 6)) { @@ -355,13 +355,11 @@ param_setup(char *str) if ((cur = strchr(cur, ARG_SEP)) != NULL) ++cur; } - return 1; + return 0; } #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,13) -#ifndef MODULE -__setup("sim710=", param_setup); -#endif +PARAM_CALL(sim710, param_setup, NULL); #else /* Old boot param syntax support */ void diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/sr.c .14440-linux-2.5.36.updated/drivers/scsi/sr.c --- .14440-linux-2.5.36/drivers/scsi/sr.c 2002-09-18 16:03:28.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/sr.c 2002-09-18 18:39:13.000000000 +1000 @@ -58,8 +58,6 @@ #include "sr.h" #include /* For the door lock/unlock commands */ -MODULE_PARM(xa_test, "i"); /* see sr_ioctl.c */ - #define MAX_RETRIES 3 #define SR_TIMEOUT (30 * HZ) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/sr_ioctl.c .14440-linux-2.5.36.updated/drivers/scsi/sr_ioctl.c --- .14440-linux-2.5.36/drivers/scsi/sr_ioctl.c 2002-09-18 16:03:28.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/sr_ioctl.c 2002-09-18 19:10:37.000000000 +1000 @@ -9,6 +9,7 @@ #include #include +#include #include "scsi.h" #include "hosts.h" #include @@ -23,6 +24,7 @@ /* The sr_is_xa() seems to trigger firmware bugs with some drives :-( * It is off by default and can be turned on with this module parameter */ static int xa_test = 0; +PARAM(xa_test, int, S_IRUGO); #define IOCTL_RETRIES 3 /* The CDROM is fairly slow, so we need a little extra time */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/st.c .14440-linux-2.5.36.updated/drivers/scsi/st.c --- .14440-linux-2.5.36/drivers/scsi/st.c 2002-09-18 16:03:28.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/st.c 2002-09-18 19:10:16.000000000 +1000 @@ -78,42 +78,21 @@ MODULE_AUTHOR("Kai Makisara"); MODULE_DESCRIPTION("SCSI Tape Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(buffer_kbs, "i"); +PARAM(buffer_kbs, int, 000); MODULE_PARM_DESC(buffer_kbs, "Default driver buffer size for fixed block mode (KB; 32)"); -MODULE_PARM(write_threshold_kbs, "i"); +PARAM(write_threshold_kbs, int, 000); MODULE_PARM_DESC(write_threshold_kbs, "Asynchronous write threshold (KB; 30)"); -MODULE_PARM(max_sg_segs, "i"); +PARAM(max_sg_segs, int, 000); MODULE_PARM_DESC(max_sg_segs, "Maximum number of scatter/gather segments to use (256)"); -MODULE_PARM(try_direct_io, "i"); +PARAM(try_direct_io, int, 000); MODULE_PARM_DESC(try_direct_io, "Try direct I/O between user buffer and tape drive (1)"); /* Extra parameters for testing */ -MODULE_PARM(try_rdio, "i"); +PARAM(try_rdio, int, 000); MODULE_PARM_DESC(try_rdio, "Try direct read i/o when possible"); -MODULE_PARM(try_wdio, "i"); +PARAM(try_wdio, int, 000); MODULE_PARM_DESC(try_wdio, "Try direct write i/o when possible"); -#ifndef MODULE -static struct st_dev_parm { - char *name; - int *val; -} parms[] __initdata = { - { - "buffer_kbs", &buffer_kbs - }, - { - "write_threshold_kbs", &write_threshold_kbs - }, - { - "max_sg_segs", &max_sg_segs - }, - { - "try_direct_io", &try_direct_io - } -}; -#endif - - /* The default definitions have been moved to st_options.h */ #define ST_FIXED_BUFFER_SIZE (ST_FIXED_BUFFER_BLOCKS * ST_KILOBYTE) @@ -3583,7 +3562,7 @@ static void validate_options(void) #ifndef MODULE /* Set the boot options. Syntax is defined in README.st. */ -static int __init st_setup(char *str) +static int __init st_setup(char *str, struct kernel_param *kp) { int i, len, ints[5]; char *stp; @@ -3615,11 +3594,10 @@ static int __init st_setup(char *str) validate_options(); - return 1; + return 0; } -__setup("st=", st_setup); - +PARAM_CALL(st, st_setup, NULL); #endif /* Driverfs file support */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/sym53c416.c .14440-linux-2.5.36.updated/drivers/scsi/sym53c416.c --- .14440-linux-2.5.36/drivers/scsi/sym53c416.c 2002-07-25 10:13:12.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/sym53c416.c 2002-09-18 18:39:13.000000000 +1000 @@ -850,10 +850,10 @@ static int sym53c416_bios_param(Disk *di MODULE_AUTHOR("Lieven Willems"); MODULE_LICENSE("GPL"); -MODULE_PARM(sym53c416, "1-2i"); -MODULE_PARM(sym53c416_1, "1-2i"); -MODULE_PARM(sym53c416_2, "1-2i"); -MODULE_PARM(sym53c416_3, "1-2i"); +PARAM_ARRAY(sym53c416, sym53c416, int, 1, 2, 000); +PARAM_ARRAY(sym53c416_1, sym53c416_1, int, 1, 2, 000); +PARAM_ARRAY(sym53c416_2, sym53c416_2, int, 1, 2, 000); +PARAM_ARRAY(sym53c416_3, sym53c416_3, int, 1, 2, 000); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/sym53c8xx.c .14440-linux-2.5.36.updated/drivers/scsi/sym53c8xx.c --- .14440-linux-2.5.36/drivers/scsi/sym53c8xx.c 2002-09-18 16:03:28.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/sym53c8xx.c 2002-09-18 18:39:13.000000000 +1000 @@ -1319,7 +1319,7 @@ static struct ncr_driver_setup # ifdef MODULE char *sym53c8xx = 0; /* command line passed by insmod */ # if LINUX_VERSION_CODE >= LinuxVersionCode(2,1,30) -MODULE_PARM(sym53c8xx, "s"); +PARAM(sym53c8xx, charp, 000); # endif # endif #endif @@ -12643,7 +12643,7 @@ static int __init get_setup_token(char * } -int __init sym53c8xx_setup(char *str) +int __init sym53c8xx_setup(char *str, struct kernel_param *kp) { #ifdef SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT char *cur = str; @@ -12763,12 +12763,12 @@ int __init sym53c8xx_setup(char *str) ++cur; } #endif /* SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT */ - return 1; + return 0; } #if LINUX_VERSION_CODE >= LinuxVersionCode(2,3,13) #ifndef MODULE -__setup("sym53c8xx=", sym53c8xx_setup); +PARAM_CALL(sym53c8xx, sym53c8xx_setup, NULL); #endif #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/tmscsim.c .14440-linux-2.5.36.updated/drivers/scsi/tmscsim.c --- .14440-linux-2.5.36/drivers/scsi/tmscsim.c 2002-07-25 10:13:12.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/tmscsim.c 2002-09-18 18:39:13.000000000 +1000 @@ -481,12 +481,9 @@ static UCHAR dc390_adapterCnt = 0; /* Startup values, to be overriden on the commandline */ int tmscsim[] = {-2, -2, -2, -2, -2, -2}; -# if defined(MODULE) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,30) -MODULE_PARM(tmscsim, "1-6i"); +# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,30) +PARAM_ARRAY(tmscsim, tmscsim, int, 1, 6, 000); MODULE_PARM_DESC(tmscsim, "Host SCSI ID, Speed (0=10MHz), Device Flags, Adapter Flags, Max Tags (log2(tags)-1), DelayReset (s)"); -# endif - -#if defined(MODULE) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,30) MODULE_AUTHOR("C.L. Huang / Kurt Garloff"); MODULE_DESCRIPTION("SCSI host adapter driver for Tekram DC390 and other AMD53C974A based PCI SCSI adapters"); MODULE_LICENSE("GPL"); @@ -655,48 +652,6 @@ static void __init dc390_fill_with_defau }; #endif -/* Override defaults on cmdline: - * tmscsim: AdaptID, MaxSpeed (Index), DevMode (Bitmapped), AdaptMode (Bitmapped) - */ -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,13) -int __init dc390_setup (char *str) -{ - int ints[8]; - int i, im; - (void)get_options (str, ARRAY_SIZE(ints), ints); - im = ints[0]; - if (im > 6) - { - printk (KERN_NOTICE "DC390: ignore extra params!\n"); - im = 6; - }; - for (i = 0; i < im; i++) - tmscsim[i] = ints[i+1]; - /* dc390_checkparams (); */ - return 1; -}; -#ifndef MODULE -__setup("tmscsim=", dc390_setup); -#endif - -#else -void __init dc390_setup (char *str, int *ints) -{ - int i, im; - im = ints[0]; - if (im > 6) - { - printk (KERN_NOTICE "DC390: ignore extra params!\n"); - im = 6; - }; - for (i = 0; i < im; i++) - tmscsim[i] = ints[i+1]; - /* dc390_checkparams (); */ -}; -#endif - - - static void __init dc390_EEpromOutDI( PDEVDECL, PUCHAR regval, UCHAR Carry ) { UCHAR bval; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/u14-34f.c .14440-linux-2.5.36.updated/drivers/scsi/u14-34f.c --- .14440-linux-2.5.36/drivers/scsi/u14-34f.c 2002-07-25 10:13:12.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/u14-34f.c 2002-09-18 19:08:19.000000000 +1000 @@ -359,13 +359,13 @@ #if defined(MODULE) #include -MODULE_PARM(boot_options, "s"); -MODULE_PARM(io_port, "1-" __MODULE_STRING(MAX_INT_PARAM) "i"); -MODULE_PARM(linked_comm, "i"); -MODULE_PARM(have_old_firmware, "i"); -MODULE_PARM(link_statistics, "i"); -MODULE_PARM(max_queue_depth, "i"); -MODULE_PARM(ext_tran, "i"); +PARAM(boot_options, charp, 000); +PARAM_ARRAY(io_port, io_port, int, 1, MAX_INT_PARAM, 000); +PARAM(linked_comm, int, 000); +PARAM(have_old_firmware, int, 000); +PARAM(link_statistics, int, 000); +PARAM(max_queue_depth, int, 000); +PARAM(ext_tran, int, 000); MODULE_AUTHOR("Dario Ballabio"); #endif @@ -956,7 +956,7 @@ static void internal_setup(char *str, in return; } -static int option_setup(char *str) { +static int option_setup(char *str, struct kernel_param *kp) { int ints[MAX_INT_PARAM]; char *cur = str; int i = 1; @@ -980,7 +980,7 @@ int u14_34f_detect(Scsi_Host_Template *t tpnt->proc_name = "u14-34f"; - if(boot_options) option_setup(boot_options); + if(boot_options) option_setup(boot_options, NULL); #if defined(MODULE) /* io_port could have been modified when loading as a module */ @@ -1888,7 +1888,5 @@ static Scsi_Host_Template driver_templat #include "scsi_module.c" -#ifndef MODULE -__setup("u14-34f=", option_setup); -#endif /* end MODULE */ +PARAM_CALL(u14_34f, option_setup, NULL); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/wd33c93.c .14440-linux-2.5.36.updated/drivers/scsi/wd33c93.c --- .14440-linux-2.5.36/drivers/scsi/wd33c93.c 2002-05-24 15:20:25.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/wd33c93.c 2002-09-18 18:39:13.000000000 +1000 @@ -166,13 +166,9 @@ static char *setup_args[] = {"","","","","","","","",""}; -/* filled in by 'insmod' */ +/* filled in by modprobe/boot line */ static char *setup_strings = 0; - -#ifdef MODULE_PARM -MODULE_PARM(setup_strings, "s"); -#endif - +PARAM(setup_strings, charp, 000); static inline uchar read_wd33c93(const wd33c93_regs regs, uchar reg_num) @@ -1693,9 +1689,6 @@ int wd33c93_setup (char *str) return 1; } -__setup("wd33c93", wd33c93_setup); - - /* check_setup_args() returns index if key found, 0 if not */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/scsi/wd7000.c .14440-linux-2.5.36.updated/drivers/scsi/wd7000.c --- .14440-linux-2.5.36/drivers/scsi/wd7000.c 2002-07-25 10:13:12.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/scsi/wd7000.c 2002-09-18 19:07:51.000000000 +1000 @@ -568,7 +568,7 @@ typedef union icb { #ifdef MODULE static char *wd7000; -MODULE_PARM(wd7000, "s"); +PARAM(wd7000, charp, 000); #endif /* @@ -612,7 +612,7 @@ static void __init setup_error(char *mes * will configure the driver for a WD-7000 controller * using IRQ 15 with a DMA channel 6, at IO base address 0x350. */ -static int __init wd7000_setup(char *str) +static int __init wd7000_setup(char *str, struct kernel_param *kp) { static short wd7000_card_num; /* .bss will zero this */ short i; @@ -721,7 +721,7 @@ static int __init wd7000_setup(char *str return 1; } -__setup("wd7000=", wd7000_setup); +PARAM_CALL(wd7000, wd7000_setup, NULL); #ifdef ANY2SCSI_INLINE /* diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/telephony/ixj.c .14440-linux-2.5.36.updated/drivers/telephony/ixj.c --- .14440-linux-2.5.36/drivers/telephony/ixj.c 2002-05-24 15:20:26.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/telephony/ixj.c 2002-09-18 18:39:13.000000000 +1000 @@ -281,7 +281,7 @@ static int ixjdebug; static int hertz = HZ; static int samplerate = 100; -MODULE_PARM(ixjdebug, "i"); +PARAM(ixjdebug, int, 000); /************************************************************************ * @@ -7684,8 +7684,8 @@ static int xio[IXJMAX + 1] = 0, }; -MODULE_PARM(dspio, "1-" __MODULE_STRING(IXJMAX) "i"); -MODULE_PARM(xio, "1-" __MODULE_STRING(IXJMAX) "i"); +PARAM_ARRAY(dspio, dspio, int, 1, IXJMAX, 000); +PARAM_ARRAY(xio, xio, int, 1, IXJMAX, 000); MODULE_DESCRIPTION("Quicknet VoIP Telephony card module - www.quicknet.net"); MODULE_AUTHOR("Ed Okerson "); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/telephony/ixj_pcmcia.c .14440-linux-2.5.36.updated/drivers/telephony/ixj_pcmcia.c --- .14440-linux-2.5.36/drivers/telephony/ixj_pcmcia.c 2001-09-13 17:43:09.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/telephony/ixj_pcmcia.c 2002-09-18 18:39:13.000000000 +1000 @@ -23,7 +23,7 @@ #ifdef PCMCIA_DEBUG static int pc_debug = PCMCIA_DEBUG; -MODULE_PARM(pc_debug, "i"); +PARAM(pc_debug, int, 000); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) #else #define DEBUG(n, args...) diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/belkin_sa.c .14440-linux-2.5.36.updated/drivers/usb/serial/belkin_sa.c --- .14440-linux-2.5.36/drivers/usb/serial/belkin_sa.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/belkin_sa.c 2002-09-18 18:39:13.000000000 +1000 @@ -554,6 +554,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/cyberjack.c .14440-linux-2.5.36.updated/drivers/usb/serial/cyberjack.c --- .14440-linux-2.5.36/drivers/usb/serial/cyberjack.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/cyberjack.c 2002-09-18 18:39:13.000000000 +1000 @@ -489,6 +489,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/digi_acceleport.c .14440-linux-2.5.36.updated/drivers/usb/serial/digi_acceleport.c --- .14440-linux-2.5.36/drivers/usb/serial/digi_acceleport.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/digi_acceleport.c 2002-09-18 18:39:13.000000000 +1000 @@ -2055,6 +2055,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/empeg.c .14440-linux-2.5.36.updated/drivers/usb/serial/empeg.c --- .14440-linux-2.5.36/drivers/usb/serial/empeg.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/empeg.c 2002-09-18 18:39:13.000000000 +1000 @@ -618,6 +618,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/ftdi_sio.c .14440-linux-2.5.36.updated/drivers/usb/serial/ftdi_sio.c --- .14440-linux-2.5.36/drivers/usb/serial/ftdi_sio.c 2002-09-18 16:04:38.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/ftdi_sio.c 2002-09-18 18:39:13.000000000 +1000 @@ -973,6 +973,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/io_edgeport.c .14440-linux-2.5.36.updated/drivers/usb/serial/io_edgeport.c --- .14440-linux-2.5.36/drivers/usb/serial/io_edgeport.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/io_edgeport.c 2002-09-18 18:39:13.000000000 +1000 @@ -3084,6 +3084,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/ir-usb.c .14440-linux-2.5.36.updated/drivers/usb/serial/ir-usb.c --- .14440-linux-2.5.36/drivers/usb/serial/ir-usb.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/ir-usb.c 2002-09-18 18:57:32.000000000 +1000 @@ -633,10 +633,10 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); -MODULE_PARM(xbof, "i"); +PARAM(xbof, int, 000); MODULE_PARM_DESC(xbof, "Force specific number of XBOFs"); -MODULE_PARM(buffer_size, "i"); +PARAM(buffer_size, int, 000); MODULE_PARM_DESC(buffer_size, "Size of the transfer buffers"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/keyspan.c .14440-linux-2.5.36.updated/drivers/usb/serial/keyspan.c --- .14440-linux-2.5.36/drivers/usb/serial/keyspan.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/keyspan.c 2002-09-18 18:39:13.000000000 +1000 @@ -1951,6 +1951,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, S_IWUSR|S_IRUGO); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/keyspan_pda.c .14440-linux-2.5.36.updated/drivers/usb/serial/keyspan_pda.c --- .14440-linux-2.5.36/drivers/usb/serial/keyspan_pda.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/keyspan_pda.c 2002-09-18 18:39:13.000000000 +1000 @@ -895,6 +895,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/mct_u232.c .14440-linux-2.5.36.updated/drivers/usb/serial/mct_u232.c --- .14440-linux-2.5.36/drivers/usb/serial/mct_u232.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/mct_u232.c 2002-09-18 18:39:13.000000000 +1000 @@ -809,11 +809,11 @@ MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); #ifdef FIX_WRITE_RETURN_CODE_PROBLEM -MODULE_PARM(write_blocking, "i"); +PARAM(write_blocking, int, 000); MODULE_PARM_DESC(write_blocking, "The write function will block to write out all data"); #endif -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/omninet.c .14440-linux-2.5.36.updated/drivers/usb/serial/omninet.c --- .14440-linux-2.5.36/drivers/usb/serial/omninet.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/omninet.c 2002-09-18 18:39:13.000000000 +1000 @@ -397,6 +397,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/pl2303.c .14440-linux-2.5.36.updated/drivers/usb/serial/pl2303.c --- .14440-linux-2.5.36/drivers/usb/serial/pl2303.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/pl2303.c 2002-09-18 18:39:13.000000000 +1000 @@ -734,6 +734,6 @@ module_exit(pl2303_exit); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/usbserial.c .14440-linux-2.5.36.updated/drivers/usb/serial/usbserial.c --- .14440-linux-2.5.36/drivers/usb/serial/usbserial.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/usbserial.c 2002-09-18 18:39:13.000000000 +1000 @@ -1936,13 +1936,13 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, S_IWUSR|S_IRUGO); MODULE_PARM_DESC(debug, "Debug enabled or not"); #ifdef CONFIG_USB_SERIAL_GENERIC -MODULE_PARM(vendor, "h"); +PARAM(vendor, short, 000); MODULE_PARM_DESC(vendor, "User specified USB idVendor"); -MODULE_PARM(product, "h"); +PARAM(product, short, 000); MODULE_PARM_DESC(product, "User specified USB idProduct"); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/visor.c .14440-linux-2.5.36.updated/drivers/usb/serial/visor.c --- .14440-linux-2.5.36/drivers/usb/serial/visor.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/visor.c 2002-09-18 18:39:13.000000000 +1000 @@ -790,6 +790,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/serial/whiteheat.c .14440-linux-2.5.36.updated/drivers/usb/serial/whiteheat.c --- .14440-linux-2.5.36/drivers/usb/serial/whiteheat.c 2002-09-18 16:04:39.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/serial/whiteheat.c 2002-09-18 18:39:13.000000000 +1000 @@ -702,6 +702,6 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/usb/usb-skeleton.c .14440-linux-2.5.36.updated/drivers/usb/usb-skeleton.c --- .14440-linux-2.5.36/drivers/usb/usb-skeleton.c 2002-07-21 17:43:09.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/usb/usb-skeleton.c 2002-09-18 18:39:13.000000000 +1000 @@ -64,7 +64,7 @@ #define DRIVER_DESC "USB Skeleton Driver" /* Module paramaters */ -MODULE_PARM(debug, "i"); +PARAM(debug, int, 000); MODULE_PARM_DESC(debug, "Debug enabled or not"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/aty128fb.c .14440-linux-2.5.36.updated/drivers/video/aty128fb.c --- .14440-linux-2.5.36/drivers/video/aty128fb.c 2002-08-28 09:29:47.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/aty128fb.c 2002-09-18 18:39:13.000000000 +1000 @@ -2556,14 +2556,14 @@ static struct display_switch fbcon_aty12 MODULE_AUTHOR("(c)1999-2000 Brad Douglas "); MODULE_DESCRIPTION("FBDev driver for ATI Rage128 / Pro cards"); MODULE_LICENSE("GPL"); -MODULE_PARM(noaccel, "i"); +PARAM(noaccel, bool, 000); MODULE_PARM_DESC(noaccel, "Disable hardware acceleration (0 or 1=disabled) (default=0)"); -MODULE_PARM(font, "s"); +PARAM(font, charp, 000); MODULE_PARM_DESC(font, "Specify one of the compiled-in fonts (default=none)"); -MODULE_PARM(mode, "s"); +PARAM(mode, charp, 000); MODULE_PARM_DESC(mode, "Specify resolution as \"x[-][@]\" "); #ifdef CONFIG_MTRR -MODULE_PARM(nomtrr, "i"); +PARAM(nomtrr, int, 000); MODULE_PARM_DESC(nomtrr, "Disable MTRR support (0 or 1=disabled) (default=0)"); #endif diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/cyber2000fb.c .14440-linux-2.5.36.updated/drivers/video/cyber2000fb.c --- .14440-linux-2.5.36/drivers/video/cyber2000fb.c 2002-08-28 09:29:47.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/cyber2000fb.c 2002-09-18 18:39:13.000000000 +1000 @@ -84,7 +84,7 @@ struct cfb_info { static char default_font_storage[40]; static char *default_font = "Acorn8x8"; -MODULE_PARM(default_font, "s"); +PARAM(default_font, charp, 000); MODULE_PARM_DESC(default_font, "Default font name"); /* diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/fbmem.c .14440-linux-2.5.36.updated/drivers/video/fbmem.c --- .14440-linux-2.5.36/drivers/video/fbmem.c 2002-09-18 18:37:51.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/fbmem.c 2002-09-18 18:39:13.000000000 +1000 @@ -864,7 +864,7 @@ fbmem_init(void) * */ -int __init video_setup(char *options) +int __init video_setup(char *options, struct kernel_param *kp) { int i, j; @@ -880,10 +880,10 @@ int __init video_setup(char *options) options++; } if (*options != ',') - return 0; + return -EINVAL; options++; } else - return 0; + return -EINVAL; } if (!strncmp(options, "map:", 4)) { @@ -945,7 +945,7 @@ int __init video_setup(char *options) return 0; } -__setup("video=", video_setup); +PARAM_CALL(video, video_setup, NULL); /* * Visible symbols for modules diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/hgafb.c .14440-linux-2.5.36.updated/drivers/video/hgafb.c --- .14440-linux-2.5.36/drivers/video/hgafb.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/hgafb.c 2002-09-18 18:39:13.000000000 +1000 @@ -783,9 +783,9 @@ MODULE_AUTHOR("Ferenc Bakonyi (fero@dram MODULE_DESCRIPTION("FBDev driver for Hercules Graphics Adaptor"); MODULE_LICENSE("GPL"); -MODULE_PARM(font, "s"); +PARAM(font, charp, 000); MODULE_PARM_DESC(font, "Specifies one of the compiled-in fonts (VGA8x8, VGA8x16, SUN8x16, Acorn8x8, PEARL8x8) (default=none)"); -MODULE_PARM(nologo, "i"); +PARAM(nologo, int, 000); MODULE_PARM_DESC(nologo, "Disables startup logo if != 0 (default=0)"); #endif /* MODULE */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/matrox/matroxfb_base.c .14440-linux-2.5.36.updated/drivers/video/matrox/matroxfb_base.c --- .14440-linux-2.5.36/drivers/video/matrox/matroxfb_base.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/matrox/matroxfb_base.c 2002-09-18 19:00:38.000000000 +1000 @@ -1307,9 +1307,7 @@ static int dfp_type = -1; /* "matrox:df static int memtype = -1; /* "matrox:memtype:xxx" */ static char fontname[64]; /* "matrox:font:xxxxx" */ -#ifndef MODULE static char videomode[64]; /* "matrox:mode:xxxxx" or "matrox:xxxxx" */ -#endif static int matroxfb_getmemory(WPMINFO unsigned int maxSize, unsigned int *realSize){ vaddr_t vm; @@ -2309,10 +2307,9 @@ static void __exit matrox_done(void) { pci_unregister_driver(&matroxfb_driver); } -#ifndef MODULE - -/* ************************* init in-kernel code ************************** */ +/* ************************* init code ************************** */ +/* Called from drivers/video/fbmem.c, with video= */ int __init matroxfb_setup(char *options) { char *this_opt; @@ -2487,88 +2484,88 @@ MODULE_AUTHOR("(c) 1998-2002 Petr Vandro MODULE_DESCRIPTION("Accelerated FBDev driver for Matrox Millennium/Mystique/G100/G200/G400/G450/G550"); MODULE_LICENSE("GPL"); -MODULE_PARM(mem, "i"); +PARAM(mem, int, 000); MODULE_PARM_DESC(mem, "Size of available memory in MB, KB or B (2,4,8,12,16MB, default=autodetect)"); -MODULE_PARM(disabled, "i"); +PARAM(disabled, int, 000); MODULE_PARM_DESC(disabled, "Disabled (0 or 1=disabled) (default=0)"); -MODULE_PARM(noaccel, "i"); +PARAM(noaccel, int, 000); MODULE_PARM_DESC(noaccel, "Do not use accelerating engine (0 or 1=disabled) (default=0)"); -MODULE_PARM(nopan, "i"); +PARAM(nopan, int, 000); MODULE_PARM_DESC(nopan, "Disable pan on startup (0 or 1=disabled) (default=0)"); -MODULE_PARM(no_pci_retry, "i"); +PARAM(no_pci_retry, int, 000); MODULE_PARM_DESC(no_pci_retry, "PCI retries enabled (0 or 1=disabled) (default=0)"); -MODULE_PARM(novga, "i"); +PARAM(novga, int, 000); MODULE_PARM_DESC(novga, "VGA I/O (0x3C0-0x3DF) disabled (0 or 1=disabled) (default=0)"); -MODULE_PARM(nobios, "i"); +PARAM(nobios, int, 000); MODULE_PARM_DESC(nobios, "Disables ROM BIOS (0 or 1=disabled) (default=do not change BIOS state)"); -MODULE_PARM(noinit, "i"); +PARAM(noinit, int, 000); MODULE_PARM_DESC(noinit, "Disables W/SG/SD-RAM and bus interface initialization (0 or 1=do not initialize) (default=0)"); -MODULE_PARM(memtype, "i"); +PARAM(memtype, int, 000); MODULE_PARM_DESC(memtype, "Memory type for G200/G400 (see Documentation/fb/matroxfb.txt for explanation) (default=3 for G200, 0 for G400)"); -MODULE_PARM(mtrr, "i"); +PARAM(mtrr, int, 000); MODULE_PARM_DESC(mtrr, "This speeds up video memory accesses (0=disabled or 1) (default=1)"); -MODULE_PARM(sgram, "i"); +PARAM(sgram, int, 000); MODULE_PARM_DESC(sgram, "Indicates that G100/G200/G400 has SGRAM memory (0=SDRAM, 1=SGRAM) (default=0)"); -MODULE_PARM(inv24, "i"); +PARAM(inv24, int, 000); MODULE_PARM_DESC(inv24, "Inverts clock polarity for 24bpp and loop frequency > 100MHz (default=do not invert polarity)"); -MODULE_PARM(inverse, "i"); +PARAM(inverse, int, 000); MODULE_PARM_DESC(inverse, "Inverse (0 or 1) (default=0)"); #ifdef CONFIG_FB_MATROX_MULTIHEAD -MODULE_PARM(dev, "i"); +PARAM(dev, int, 000); MODULE_PARM_DESC(dev, "Multihead support, attach to device ID (0..N) (default=all working)"); #else -MODULE_PARM(dev, "i"); +PARAM(dev, int, 000); MODULE_PARM_DESC(dev, "Multihead support, attach to device ID (0..N) (default=first working)"); #endif -MODULE_PARM(vesa, "i"); +PARAM(vesa, int, 000); MODULE_PARM_DESC(vesa, "Startup videomode (0x000-0x1FF) (default=0x101)"); -MODULE_PARM(xres, "i"); +PARAM(xres, int, 000); MODULE_PARM_DESC(xres, "Horizontal resolution (px), overrides xres from vesa (default=vesa)"); -MODULE_PARM(yres, "i"); +PARAM(yres, int, 000); MODULE_PARM_DESC(yres, "Vertical resolution (scans), overrides yres from vesa (default=vesa)"); -MODULE_PARM(upper, "i"); +PARAM(upper, int, 000); MODULE_PARM_DESC(upper, "Upper blank space (scans), overrides upper from vesa (default=vesa)"); -MODULE_PARM(lower, "i"); +PARAM(lower, int, 000); MODULE_PARM_DESC(lower, "Lower blank space (scans), overrides lower from vesa (default=vesa)"); -MODULE_PARM(vslen, "i"); +PARAM(vslen, int, 000); MODULE_PARM_DESC(vslen, "Vertical sync length (scans), overrides lower from vesa (default=vesa)"); -MODULE_PARM(left, "i"); +PARAM(left, int, 000); MODULE_PARM_DESC(left, "Left blank space (px), overrides left from vesa (default=vesa)"); -MODULE_PARM(right, "i"); +PARAM(right, int, 000); MODULE_PARM_DESC(right, "Right blank space (px), overrides right from vesa (default=vesa)"); -MODULE_PARM(hslen, "i"); +PARAM(hslen, int, 000); MODULE_PARM_DESC(hslen, "Horizontal sync length (px), overrides hslen from vesa (default=vesa)"); -MODULE_PARM(pixclock, "i"); +PARAM(pixclock, int, 000); MODULE_PARM_DESC(pixclock, "Pixelclock (ns), overrides pixclock from vesa (default=vesa)"); -MODULE_PARM(sync, "i"); +PARAM(sync, int, 000); MODULE_PARM_DESC(sync, "Sync polarity, overrides sync from vesa (default=vesa)"); -MODULE_PARM(depth, "i"); +PARAM(depth, int, 000); MODULE_PARM_DESC(depth, "Color depth (0=text,8,15,16,24,32) (default=vesa)"); -MODULE_PARM(maxclk, "i"); +PARAM(maxclk, int, 000); MODULE_PARM_DESC(maxclk, "Startup maximal clock, 0-999MHz, 1000-999999kHz, 1000000-INF Hz"); -MODULE_PARM(fh, "i"); +PARAM(fh, int, 000); MODULE_PARM_DESC(fh, "Startup horizontal frequency, 0-999kHz, 1000-INF Hz"); -MODULE_PARM(fv, "i"); +PARAM(fv, int, 000); MODULE_PARM_DESC(fv, "Startup vertical frequency, 0-INF Hz\n" "You should specify \"fv:max_monitor_vsync,fh:max_monitor_hsync,maxclk:max_monitor_dotclock\"\n"); -MODULE_PARM(hwcursor, "i"); +PARAM(hwcursor, int, 000); MODULE_PARM_DESC(hwcursor, "Enables hardware cursor (0 or 1) (default=0)"); -MODULE_PARM(blink, "i"); +PARAM(blink, int, 000); MODULE_PARM_DESC(blink, "Enables hardware cursor blinking (0 or 1) (default=1)"); -MODULE_PARM(fastfont, "i"); +PARAM(fastfont, int, 000); MODULE_PARM_DESC(fastfont, "Specifies, how much memory should be used for font data (0, 1024-65536 are reasonable) (default=0)"); -MODULE_PARM(grayscale, "i"); +PARAM(grayscale, int, 000); MODULE_PARM_DESC(grayscale, "Sets display into grayscale. Works perfectly with paletized videomode (4, 8bpp), some limitations apply to 16, 24 and 32bpp videomodes (default=nograyscale)"); -MODULE_PARM(cross4MB, "i"); +PARAM(cross4MB, int, 000); MODULE_PARM_DESC(cross4MB, "Specifies that 4MB boundary can be in middle of line. (default=autodetected)"); -MODULE_PARM(dfp, "i"); +PARAM(dfp, int, 000); MODULE_PARM_DESC(dfp, "Specifies whether to use digital flat panel interface of G200/G400 (0 or 1) (default=0)"); -MODULE_PARM(dfp_type, "i"); +PARAM(dfp_type, int, 000); MODULE_PARM_DESC(dfp_type, "Specifies DFP interface type (0 to 255) (default=read from hardware)"); #ifdef CONFIG_PPC -MODULE_PARM(vmode, "i"); +PARAM(vmode, int, 000); MODULE_PARM_DESC(vmode, "Specify the vmode mode number that should be used (640x480 default)"); -MODULE_PARM(cmode, "i"); +PARAM(cmode, int, 000); MODULE_PARM_DESC(cmode, "Specify the video depth that should be used (8bit default)"); #endif @@ -2601,7 +2598,6 @@ int __init init_module(void){ /* never return failure; user can hotplug matrox later... */ return 0; } -#endif /* MODULE */ module_exit(matrox_done); EXPORT_SYMBOL(matroxfb_register_driver); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/matrox/matroxfb_crtc2.c .14440-linux-2.5.36.updated/drivers/video/matrox/matroxfb_crtc2.c --- .14440-linux-2.5.36/drivers/video/matrox/matroxfb_crtc2.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/matrox/matroxfb_crtc2.c 2002-09-18 18:39:15.000000000 +1000 @@ -21,7 +21,7 @@ static int mem = 8192; -MODULE_PARM(mem, "i"); +PARAM(mem, int, 000); MODULE_PARM_DESC(mem, "Memory size reserved for dualhead (default=8MB)"); /* **************************************************** */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/mdacon.c .14440-linux-2.5.36.updated/drivers/video/mdacon.c --- .14440-linux-2.5.36/drivers/video/mdacon.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/mdacon.c 2002-09-18 18:39:15.000000000 +1000 @@ -80,8 +80,8 @@ static int mda_last_vc = 16; static struct vc_data *mda_display_fg = NULL; -MODULE_PARM(mda_first_vc, "1-255i"); -MODULE_PARM(mda_last_vc, "1-255i"); +PARAM(mda_first_vc, int, 000); +PARAM(mda_last_vc, int, 000); /* MDA register values */ @@ -185,31 +185,6 @@ static inline void mda_set_cursor_size(i mda_cursor_size_to = to; } - -#ifndef MODULE -static int __init mdacon_setup(char *str) -{ - /* command line format: mdacon=, */ - - int ints[3]; - - str = get_options(str, ARRAY_SIZE(ints), ints); - - if (ints[0] < 2) - return 0; - - if (ints[1] < 1 || ints[1] > MAX_NR_CONSOLES || - ints[2] < 1 || ints[2] > MAX_NR_CONSOLES) - return 0; - - mda_first_vc = ints[1]; - mda_last_vc = ints[2]; - return 1; -} - -__setup("mdacon=", mdacon_setup); -#endif - static int __init mda_detect(void) { int count=0; diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/pm2fb.c .14440-linux-2.5.36.updated/drivers/video/pm2fb.c --- .14440-linux-2.5.36/drivers/video/pm2fb.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/pm2fb.c 2002-09-18 18:39:15.000000000 +1000 @@ -2414,7 +2414,7 @@ MODULE_LICENSE("GPL"); static char *mode = NULL; -MODULE_PARM(mode, "s"); +PARAM(mode, charp, 000); int init_module(void) { diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/riva/fbdev.c .14440-linux-2.5.36.updated/drivers/video/riva/fbdev.c --- .14440-linux-2.5.36/drivers/video/riva/fbdev.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/riva/fbdev.c 2002-09-18 18:39:15.000000000 +1000 @@ -251,12 +251,12 @@ struct rivafb_info *riva_boards = NULL; /* command line data, set in rivafb_setup() */ static char fontname[40] __initdata = { 0 }; -static char noaccel __initdata = 0; -static char nomove = 0; -static char nohwcursor __initdata = 0; -static char noblink = 0; +static int noaccel __initdata = 0; +static int nomove = 0; +static int nohwcursor __initdata = 0; +static int noblink = 0; #ifdef CONFIG_MTRR -static char nomtrr __initdata = 0; +static int nomtrr __initdata = 0; #endif #ifndef MODULE @@ -2117,18 +2117,18 @@ static void __exit rivafb_exit(void) module_init(rivafb_init); module_exit(rivafb_exit); -MODULE_PARM(font, "s"); +PARAM(font, charp, 000); MODULE_PARM_DESC(font, "Specifies one of the compiled-in fonts (default=none)"); -MODULE_PARM(noaccel, "i"); +PARAM(noaccel, bool, 000); MODULE_PARM_DESC(noaccel, "Disables hardware acceleration (0 or 1=disabled) (default=0)"); -MODULE_PARM(nomove, "i"); +PARAM(nomove, bool, 000); MODULE_PARM_DESC(nomove, "Enables YSCROLL_NOMOVE (0 or 1=enabled) (default=0)"); -MODULE_PARM(nohwcursor, "i"); +PARAM(nohwcursor, bool, 000); MODULE_PARM_DESC(nohwcursor, "Disables hardware cursor (0 or 1=disabled) (default=0)"); -MODULE_PARM(noblink, "i"); +PARAM(noblink, bool, 000); MODULE_PARM_DESC(noblink, "Disables hardware cursor blinking (0 or 1=disabled) (default=0)"); #ifdef CONFIG_MTRR -MODULE_PARM(nomtrr, "i"); +PARAM(nomtrr, bool, 000); MODULE_PARM_DESC(nomtrr, "Disables MTRR support (0 or 1=disabled) (default=0)"); #endif #endif /* MODULE */ diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/sis/sis_main.c .14440-linux-2.5.36.updated/drivers/video/sis/sis_main.c --- .14440-linux-2.5.36/drivers/video/sis/sis_main.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/sis/sis_main.c 2002-09-18 18:59:44.000000000 +1000 @@ -3416,33 +3416,33 @@ MODULE_DESCRIPTION("SiS 300/540/630/730/ MODULE_LICENSE("GPL"); /* TW (Code is officially open says SiS) */ MODULE_AUTHOR("Various; SiS; Thomas Winischhofer "); -MODULE_PARM(mode, "s"); +PARAM(mode, charp, 000); MODULE_PARM_DESC(mode, "Selects the desired display mode in the format [X]x[Y]x[Depth], eg. 800x600x16 " "(default: none; this leaves the console untouched and the driver will only do " "the video memory management for eg. DRM/DRI)"); -MODULE_PARM(rate, "i"); +PARAM(rate, int, 000); MODULE_PARM_DESC(rate, "Selects the desired vertical refresh rate for CRT1 (external VGA) in Hz. " "(default: 60)"); -MODULE_PARM(crt1off, "i"); +PARAM(crt1off, int, 000); MODULE_PARM_DESC(crt1off, "If this option is set, the driver will switch off CRT1 (external VGA). " "(Deprecated, please use forcecrt1)"); -MODULE_PARM(filter, "i"); +PARAM(filter, int, 000); MODULE_PARM_DESC(filter, "Selects TV flicker filter type (only for SiS30x video bridges). " "(Possible values 0-7, default: [no filter])"); -MODULE_PARM(dstn, "i"); /* JennyLee 20011211 */ +PARAM(dstn, int, 000); /* JennyLee 20011211 */ MODULE_PARM_DESC(dstn, "Selects DSTN/FSTN display mode for SiS550. This sets CRT2 type to LCD and " "overrides forcecrt2type setting. (1=ON, 0=OFF) (default: 0)"); -MODULE_PARM(queuemode, "s"); +PARAM(queuemode, charp, 000); MODULE_PARM_DESC(queuemode, "Selects the queue mode on 315/550/650/740. Possible choices are AGP, VRAM " "or MMIO. AGP is only available if the kernel has AGP support. " @@ -3451,7 +3451,7 @@ MODULE_PARM_DESC(queuemode, "the engines. On 300/540/630/730, this option is ignored. (default: MMIO)"); /* TW: "Import" the options from the X driver */ -MODULE_PARM(mem, "i"); +PARAM(mem, int, 000); MODULE_PARM_DESC(mem, "Determines the beginning of the video memory heap in KB. This heap is used for " "video RAM management for eg. DRM/DRI. The default depends on the amount of video " @@ -3460,7 +3460,7 @@ MODULE_PARM_DESC(mem, "The value is to be specified without 'KB' and should match MaxXFBMem setting for " "XFree 4.x (x>=2). See http://www.winischhofer.net/linuxsis630.shtml for a closer description."); -MODULE_PARM(forcecrt2type, "s"); +PARAM(forcecrt2type, charp, 000); MODULE_PARM_DESC(forcecrt2type, "If this option is omitted, the driver autodetects CRT2 output devices, such as LCD, " "TV or secondary VGA (in this order; so if eg. an LCD is there, it will be used regardless " @@ -3471,13 +3471,13 @@ MODULE_PARM_DESC(forcecrt2type, "VGA refers to _secondary_ VGA which is unlikely to be available; the VGA plug found " "on most machines is CRT1. (default: [autodetected])"); -MODULE_PARM(forcecrt1, "i"); +PARAM(forcecrt1, int, 000); MODULE_PARM_DESC(forcecrt1, "Normally, the driver autodetects whether or not CRT1 (external VGA) is connected. " "With this option, the detection can be overridden (1=CRT1 ON, 0=CRT1 off) " "(default: [autodetected])"); -MODULE_PARM(pdc, "i"); +PARAM(pdc, int, 000); MODULE_PARM_DESC(pdc, "(300 series only) This is for manually selecting the LCD panel delay compensation. The " "driver should detect this correctly in most cases; however, sometimes this is not possible. If " diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/sstfb.c .14440-linux-2.5.36.updated/drivers/video/sstfb.c --- .14440-linux-2.5.36/drivers/video/sstfb.c 2002-08-28 09:29:48.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/sstfb.c 2002-09-18 18:39:15.000000000 +1000 @@ -2072,19 +2072,19 @@ MODULE_AUTHOR("(c) 2000,2002 Ghozlane To MODULE_DESCRIPTION("FBDev driver for 3dfx Voodoo Graphics and Voodoo2 based video boards"); MODULE_LICENSE("GPL"); -MODULE_PARM(mem, "i"); +PARAM(mem, int, 000); MODULE_PARM_DESC(mem, "Size of frame buffer memory in MiB (1, 2, 4 Mb, default=autodetect)"); -MODULE_PARM(vgapass, "i"); +PARAM(vgapass, int, 000); MODULE_PARM_DESC(vgapass, "Enable VGA PassThrough cable (0 or 1) (default=0)"); -MODULE_PARM(inverse, "i"); +PARAM(inverse, int, 000); MODULE_PARM_DESC(inverse, "Inverse colormap (0 or 1) (default=0)"); -MODULE_PARM(clipping , "i"); +PARAM(clipping, int, 000); MODULE_PARM_DESC(clipping, "Enable clipping (slower, safer) (0 or 1) (default=1)"); -MODULE_PARM(gfxclk , "i"); +PARAM(gfxclk, int, 000); MODULE_PARM_DESC(gfxclk, "Force graphic chip frequency in Mhz. DANGEROUS. (default=auto)"); -MODULE_PARM(slowpci, "i"); +PARAM(slowpci, int, 000); MODULE_PARM_DESC(slowpci, "Uses slow PCI settings (0 or 1) (default=0)"); -MODULE_PARM(dev,"i"); +PARAM(dev, int, 000); MODULE_PARM_DESC(dev , "Attach to device ID (0..n) (default=1st device)"); /* diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/sticore.c .14440-linux-2.5.36.updated/drivers/video/sticore.c --- .14440-linux-2.5.36/drivers/video/sticore.c 2002-08-28 09:29:49.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/sticore.c 2002-09-18 18:39:15.000000000 +1000 @@ -271,7 +271,7 @@ static void __init sti_cook_fonts(struct static int font_index, font_height, font_width; -static int __init sti_font_setup(char *str) +static int __init sti_font_setup(char *str, struct kernel_param *kp) { char *x; @@ -288,7 +288,7 @@ static int __init sti_font_setup(char *s return 0; } -__setup("sti_font=", sti_font_setup); +PARAM_CALL(sti_font, sti_font_setup, NULL); static int __init sti_search_font(struct sti_cooked_rom *rom, int height, int width) @@ -572,14 +572,14 @@ sti_init_roms(void) } static int __init -sti_setup(char *str) +sti_setup(char *str, struct kernel_param *kp) { char *end; if(strcmp(str, "pdc") == 0) { sti_address = PAGE0->proc_sti; - return 1; + return 0; } else { sti_address = simple_strtoul(str, &end, 16); @@ -590,12 +590,10 @@ sti_setup(char *str) sti_hpa = sti_address; - return 1; + return 0; } - - return 0; } -__setup("sti=", sti_setup); +PARAM_CALL(sti, sti_setup, NULL); MODULE_LICENSE("GPL"); diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/vfb.c .14440-linux-2.5.36.updated/drivers/video/vfb.c --- .14440-linux-2.5.36/drivers/video/vfb.c 2002-08-28 09:29:49.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/vfb.c 2002-09-18 18:58:25.000000000 +1000 @@ -37,7 +37,7 @@ static void *videomemory; static u_long videomemorysize = VIDEOMEMSIZE; -MODULE_PARM(videomemorysize, "l"); +PARAM(videomemorysize, ulong, 000); static const char *mode_option __initdata = NULL; static struct fb_info fb_info; @@ -77,7 +77,7 @@ static struct fb_fix_screeninfo vfb_fix }; static int vfb_enable __initdata = 0; /* disabled by default */ -MODULE_PARM(vfb_enable, "i"); +PARAM(vfb_enable, int, 000); /* * Interface used by the world diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .14440-linux-2.5.36/drivers/video/vgacon.c .14440-linux-2.5.36.updated/drivers/video/vgacon.c --- .14440-linux-2.5.36/drivers/video/vgacon.c 2002-08-28 09:29:49.000000000 +1000 +++ .14440-linux-2.5.36.updated/drivers/video/vgacon.c 2002-09-18 18:39:15.000000000 +1000 @@ -119,7 +119,7 @@ static int vga_video_font_height; static unsigned int vga_rolled_over = 0; -static int __init no_scroll(char *str) +static int __init no_scroll(char *str, struct kernel_param *kp) { /* * Disabling scrollback is required for the Braillex ib80-piezo @@ -130,7 +130,7 @@ static int __init no_scroll(char *str) return 1; } -__setup("no-scroll", no_scroll); +PARAM_CALL(no_scroll, no_scroll, NULL); /* * By replacing the four outb_p with two back to back outw, we can reduce