init_module / cleanup_module cleanup
Hi!
This is my first kernel patch, so I did a rather simple cleanup. Some network-drivers still used the oldinit_module() / cleanup_module() way of de-/registering at the kernel.
Regards,
Reiner
drivers/net/3c501.c +6 -7
@@ -888,8 +888,6 @@ static struct ethtool_ops netdev_ethtool .set_msglevel = netdev_set_msglevel, }; -#ifdef MODULE -static struct net_device *dev_3c501;module_param (io, int,0 );
@@ -898,7 +896,7 @@ MODULE_PARM_DESC(io, "EtherLink I/O baseMODULE_PARM_DESC (irq,"EtherLink IRQ number" );/** -* init_module: +* el_init_module: * * When the driver is loaded as a module this function is called. We fake up * a device structure with the base I/O and interrupt set as if it were being
@@ -909,7 +907,7 @@ MODULE_PARM_DESC(irq, "EtherLink IRQ num* here also causes the module to be unloaded */ -int init_module (void ) +static int __init el_init_module (void ) { dev_3c501 =el1_probe (-1 );if (IS_ERR (dev_3c501))
@@ -918,13 +916,13 @@ int init_module(void) }/** -* cleanup_module: +* el_cleanup_module: * * The module is being unloaded. We unhook our network device from the system * and then free up the resources we took when the card was found. */ -void cleanup_module (void ) +static void __exit el_cleanup_module(void) {struct net_device *dev = dev_3c501;unregister_netdev (dev);
@@ -932,7 +930,8 @@ void cleanup_module(void)free_netdev (dev); } -#endif /* MODULE */ +module_init(el_init_module) +module_exit(el_cleanup_module) MODULE_AUTHOR("Donald Becker, Alan Cox");MODULE_DESCRIPTION ("Support for the ancient 3Com 3c501 ethernet card" );
drivers/net/3c507.c +5 -6
@@ -925,14 +925,13 @@ static struct ethtool_ops netdev_ethtool .set_msglevel = netdev_set_msglevel, }; -#ifdef MODULE static struct net_device *dev_3c507;module_param (io, int,0 );module_param (irq, int,0 );MODULE_PARM_DESC (io,"EtherLink16 I/O base address" );MODULE_PARM_DESC (irq,"(ignored)" ); -int init_module (void ) +static int __init netdev_init_module (void ) {if (io ==0 )printk ("3c507: You should not use auto-probing with insmod!\n" );
@@ -940,8 +939,7 @@ int init_module(void)return IS_ERR (dev_3c507) ?PTR_ERR (dev_3c507) :0 ; } -void -cleanup_module (void ) +static void __exit netdev_cleanup_module(void) {struct net_device *dev = dev_3c507;unregister_netdev (dev);
@@ -950,10 +948,11 @@ cleanup_module(void)release_region (dev->base_addr,EL16_IO_EXTENT );free_netdev (dev); } -#endif /* MODULE */ +MODULE_LICENSE ("GPL" ); +module_init (netdev_init_module) +module_exit (netdev_cleanup_module) -/* * Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/net/inet -I/usr/src/linux/drivers/net -Wall -Wstrict-prototypes -O6 -m486 -c 3c507.c"
drivers/net/3c523.c +6 -7
@@ -1263,20 +1263,18 @@ static struct ethtool_ops netdev_ethtool .get_drvinfo = netdev_get_drvinfo, }; -#ifdef MODULE -/* Increase if needed ;) */ #define MAX_3C523_CARDS 4static struct net_device *dev_elmc[MAX_3C523_CARDS ]; -static int irq[MAX_3C523_CARDS ]; -static int io[MAX_3C523_CARDS ]; +static int irq[MAX_3C523_CARDS ]__initdata ; +static int io[MAX_3C523_CARDS ]__initdata ;module_param_array (irq, int,NULL ,0 );module_param_array (io, int,NULL ,0 );MODULE_PARM_DESC (io,"EtherLink/MC I/O base address(es)" );MODULE_PARM_DESC (irq,"EtherLink/MC IRQ number(s)" ); -int init_module (void ) +static int __init netdev_init_module (void ) {int this_dev,found =0 ;
@@ -1307,7 +1305,7 @@ int init_module(void) }else return 0 ; } -void cleanup_module (void ) +static void __exit netdev_cleanup_module(void) {int this_dev;for (this_dev=0 ; this_dev<MAX_3C523_CARDS ; this_dev++) {
@@ -1320,4 +1318,5 @@ void cleanup_module(void) } } -#endif /* MODULE */ +module_init (netdev_init_module) +module_exit (netdev_exit_module)
drivers/net/3c527.c +6 -7
@@ -1634,19 +1634,17 @@ static struct ethtool_ops netdev_ethtool .set_msglevel = netdev_set_msglevel, }; -#ifdef MODULE -static struct net_device *this_device;/** -* init_module - entry point +* netdev_init_module - entry point * * Probe and locate a 3c527 card. This really should probe and locate * all the 3c527 cards in the machine not just one of them. Yes you can * insmod multiple modules for now but it's a hack. */ -int init_module (void ) +static int __init netdev_init_module (void ) { this_device =mc32_probe (-1 );if (IS_ERR (this_device))
@@ -1655,7 +1653,7 @@ int init_module(void) }/** -* cleanup_module - free resources for an unload +* netdev_cleanup_module - free resources for an unload * * Unloading time. We release the MCA bus resources and the interrupt * at which point everything is ready to unload. The card must be stopped
@@ -1665,11 +1663,12 @@ int init_module(void)* transmit operations are allowed to start scribbling into memory. */ -void cleanup_module (void ) +static void __exit netdev_cleanup_module(void) {unregister_netdev (this_device);cleanup_card (this_device);free_netdev (this_device); } -#endif /* MODULE */ +module_init (netdev_init_module) +module_exit (netdev_exit_module)
drivers/net/82596.c +8 -8
@@ -1130,8 +1130,8 @@ static void print_eth(unsigned char *addprintk (" %02X%02X, %s\n" , add[12 ], add[13 ], str); } -static int io =0x300 ; -static int irq =10 ; +static int io__initdata =0x300 ; +static int irq__initdata =10 ;struct net_device *__init i82596_probe (int unit) {
@@ -1568,7 +1568,6 @@ static void set_multicast_list(struct ne } } -#ifdef MODULE static struct net_device *dev_82596;#ifdef ENABLE_APRICOT
@@ -1576,11 +1575,11 @@ module_param(irq, int, 0);MODULE_PARM_DESC (irq,"Apricot IRQ number" );#endif -static int debug =-1 ; +static int debug__initdata =-1 ;module_param (debug, int,0 );MODULE_PARM_DESC (debug,"i82596 debug mask" ); -int init_module (void ) +static int __init i596_init_module (void ) {if (debug >=0 ) i596_debug = debug;
@@ -1590,7 +1589,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit i596_cleanup_module(void) {unregister_netdev (dev_82596);#ifdef __mc68000__
@@ -1609,8 +1608,9 @@ void cleanup_module(void)free_netdev (dev_82596); } -#endif /* MODULE */ - +module_init (i596_init_module) +module_exit (i596_cleanup_module) +/* * Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/net/inet -Wall -Wstrict-prototypes -O6 -m486 -c 82596.c"
drivers/net/8390.c +5 -5
@@ -1115,16 +1115,16 @@ EXPORT_SYMBOL(ei_poll);EXPORT_SYMBOL (NS8390_init);EXPORT_SYMBOL (__alloc_ei_netdev); -#if defined(MODULE ) - -int init_module (void ) +static int __init NS8390_init_module (void ) {return 0 ; } -void cleanup_module (void ) +static void __exit NS8390_cleanup_module(void) { } -#endif /* MODULE */ +module_init(NS8390_init_module) +module_exit(NS8390_cleanup_module) + MODULE_LICENSE("GPL");
drivers/net/apne.c +5 -5
@@ -565,10 +565,9 @@ static irqreturn_t apne_interrupt(int irreturn IRQ_HANDLED ; } -#ifdef MODULE static struct net_device *apne_dev; -int init_module (void ) +static int __init apne_init_module (void ) { apne_dev =apne_probe (-1 );if (IS_ERR (apne_dev))
@@ -576,7 +575,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit apne_cleanup_module(void) {unregister_netdev (apne_dev);
@@ -591,8 +590,6 @@ void cleanup_module(void)free_netdev (apne_dev); } -#endif -static int init_pcmcia (void ) {u_char config;
@@ -636,3 +633,6 @@ static int init_pcmcia(void) }MODULE_LICENSE ("GPL" ); +module_init (apne_init_module) +module_exit (apne_cleanup_module) +
drivers/net/appletalk/cops.c +4 -4
@@ -1023,7 +1023,6 @@ static struct net_device_stats *cops_getreturn &lp->stats; } -#ifdef MODULE static struct net_device *cops_dev;MODULE_LICENSE ("GPL" );
@@ -1031,7 +1030,7 @@ module_param(io, int, 0);module_param (irq, int,0 );module_param (board_type, int,0 ); -int init_module (void ) +static int __init cops_init_module (void ) {if (io ==0 ) printk(KERN_WARNING "%s: You shouldn't autoprobe with insmod\n",
@@ -1042,13 +1041,14 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit cops_cleanup_module(void) {unregister_netdev (cops_dev);cleanup_card (cops_dev);free_netdev (cops_dev); } -#endif /* MODULE */ +module_init (cops_init_module) +module_exit (cops_cleanup_module)/* * Local variables:
drivers/net/arcnet/capmode.c +4 -6
@@ -78,23 +78,21 @@ void arcnet_cap_init(void) } -#ifdef MODULE - -int __init init_module (void ) +static int __init capmode_init_module (void ) {printk (VERSION );arcnet_cap_init ();return 0 ; } -void cleanup_module (void ) +static void __exit capmode_cleanup_module(void) {arcnet_unregister_proto (&capmode_proto); }MODULE_LICENSE ("GPL" ); -#endif /* MODULE */ - +module_init (capmode_init_module) +module_exit (capmode_cleanup_module)/* packet receiver */
drivers/net/arcnet/com20020.c +5 -5
@@ -337,21 +337,21 @@ static void com20020_set_mc_list(struct } } -#ifdef MODULE -EXPORT_SYMBOL (com20020_check);EXPORT_SYMBOL (com20020_found);MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init com20020_init_module (void ) {BUGLVL (D_NORMAL)printk (VERSION);return 0 ; } -void cleanup_module (void ) +static void __exit com20020_cleanup_module(void) { } -#endif /* MODULE */ +module_init (com20020_init_module) +module_exit (com20020_cleanup_module) +
drivers/net/at1700.c +4 -6
@@ -896,7 +896,6 @@ set_rx_mode(struct net_device *dev)return ; } -#ifdef MODULE static struct net_device *dev_at1700;module_param (io, int,0 );
@@ -906,7 +905,7 @@ MODULE_PARM_DESC(io, "AT1700/FMV18X I/OMODULE_PARM_DESC (irq,"AT1700/FMV18X IRQ number" );MODULE_PARM_DESC (net_debug,"AT1700/FMV18X debug level (0-6)" ); -int init_module (void ) +static int __init at1700_init_module (void ) {if (io ==0 )printk ("at1700: You should not use auto-probing with insmod!\n" );
@@ -916,16 +915,15 @@ int init_module(void)return 0 ; } -void -cleanup_module (void ) +static void __exit at1700_cleanup_module(void) {unregister_netdev (dev_at1700);cleanup_card (dev_at1700);free_netdev (dev_at1700); } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); - +module_init (at1700_init_module) +module_exit (at1700_cleanup_module)/* * Local variables:
drivers/net/atari_bionet.c +5 -6
@@ -642,12 +642,9 @@ static struct net_device_stats *net_get_return &lp->stats; } - -#ifdef MODULE -static struct net_device *bio_dev; -int init_module (void ) +static int __init bionet_init_module (void ) { bio_dev =bionet_probe (-1 );if (IS_ERR (bio_dev))
@@ -655,13 +652,15 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit bionet_cleanup_module(void) {unregister_netdev (bio_dev);free_netdev (bio_dev); } -#endif /* MODULE */ +module_init (bionet_init_module) +module_exit (bionet_cleanup_module) +/* Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/include
drivers/net/atarilance.c +4 -6
@@ -1176,11 +1176,9 @@ static int lance_set_mac_address( structreturn (0 ); } - -#ifdef MODULE static struct net_device *atarilance_dev; -int init_module (void ) +static int __init lance_init_module (void ) { atarilance_dev =atarilance_probe (-1 );if (IS_ERR (atarilance_dev))
@@ -1188,15 +1186,15 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit lance_cleanup_module(void) {unregister_netdev (atarilance_dev);free_irq (atarilance_dev->irq, atarilance_dev);free_netdev (atarilance_dev); } -#endif /* MODULE */ - +module_init (lance_init_module) +module_exit (lance_cleanup_module)/* * Local variables:
drivers/net/atari_pamsnet.c +4 -6
@@ -863,12 +863,9 @@ static struct net_device_stats *net_get_return &lp->stats; } - -#ifdef MODULE -static struct net_device *pam_dev; -int init_module (void ) +static int __init pamsnet_init_module (void ) { pam_dev =pamsnet_probe (-1 );if (IS_ERR (pam_dev))
@@ -876,13 +873,14 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit pamsnet_cleanup_module(void) {unregister_netdev (pam_dev);free_netdev (pam_dev); } -#endif /* MODULE */ +module_init (pamsnet_init_module) +module_exit (pamsnet_cleanup_module)/* Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/include
drivers/net/cs89x0.c +17 -17
@@ -1691,8 +1691,6 @@ static int set_mac_address(struct net_dereturn 0 ; } -#ifdef MODULE -static struct net_device *dev_cs89x0;/*
@@ -1700,15 +1698,15 @@ static struct net_device *dev_cs89x0;* avoid breaking someone's startup scripts */ -static int io; -static int irq; -static int debug; -static char media[8 ]; -static int duplex=-1 ; - -static int use_dma;/* These generate unused var warnings if ALLOW_DMA = 0 */ -static int dma; -static int dmasize=16 ;/* or 64 */ +static int io__initdata ; +static int irq__initdata ; +static int debug__initdata ; +static char media[8 ]__initdata ; +static int duplex__initdata =-1 ; + +static int use_dma__initdata ;/* These generate unused var warnings if ALLOW_DMA = 0 */ +static int dma__initdata ; +static int dmasize__initdata =16 ;/* or 64 */ module_param (io, int,0 );module_param (irq, int,0 );
@@ -1768,8 +1766,8 @@ MODULE_LICENSE("GPL");*/ -int -init_module (void ) +static int __init +net_init_module (void ) {struct net_device *dev =alloc_etherdev (sizeof (struct net_local ));struct net_local *lp;
@@ -1845,16 +1843,18 @@ out:return ret; } -void -cleanup_module (void ) +static void __exit +net_cleanup_module (void ) {unregister_netdev (dev_cs89x0);outw (PP_ChipID, dev_cs89x0->base_addr +ADD_PORT );release_region (dev_cs89x0->base_addr,NETCARD_IO_EXTENT );free_netdev (dev_cs89x0); } -#endif /* MODULE */ - + +module_init (net_init_module) +module_exit (net_cleanup_module) +/* * Local variables: * version-control: t
drivers/net/de620.c +6 -5
@@ -1009,10 +1009,10 @@ static int __init read_eeprom(struct net* Loadable module skeleton * */ -#ifdef MODULE +static struct net_device *de620_dev; -int init_module (void ) +static int __init de620_init_module (void ) { de620_dev =de620_probe (-1 );if (IS_ERR (de620_dev))
@@ -1020,16 +1020,17 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit de620_cleanup_module(void) {unregister_netdev (de620_dev);release_region (de620_dev->base_addr,3 );free_netdev (de620_dev); } -#endif /* MODULE */ +MODULE_LICENSE ("GPL" ); +module_init (de620_init_module) +module_exit (de620_cleanup_module) -/* * (add '-DMODULE' when compiling as loadable module) *
drivers/net/eexpress.c +7 -7
@@ -1683,13 +1683,11 @@ eexp_set_multicast(struct net_device *de* MODULE stuff */ -#ifdef MODULE -#define EEXP_MAX_CARDS 4/* max number of cards to support */ static struct net_device *dev_eexp[EEXP_MAX_CARDS ]; -static int irq[EEXP_MAX_CARDS ]; -static int io[EEXP_MAX_CARDS ]; +static int irq[EEXP_MAX_CARDS ]__initdata ; +static int io[EEXP_MAX_CARDS ]__initdata ;module_param_array (io, int,NULL ,0 );module_param_array (irq, int,NULL ,0 );
@@ -1702,7 +1700,7 @@ MODULE_LICENSE("GPL");* are specified, we verify and then use them. If no parameters are given, we * autoprobe for one card only. */ -int init_module (void ) +static int __init eexp_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -1730,7 +1728,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit eexp_cleanup_module(void) {int this_dev;
@@ -1742,7 +1740,9 @@ void cleanup_module(void) } } } -#endif + +module_init (eexp_init_module) +module_exit (eexp_cleanup_module)/* * Local Variables:
drivers/net/eth16i.c +9 -9
@@ -1386,8 +1386,6 @@ static void eth16i_select_regbank(unsignoutb ( ((data &0xF3 ) | ( (banknbr &0x03 ) <<2 )), ioaddr +CONFIG_REG_1 ); } -#ifdef MODULE -static ushort eth16i_parse_mediatype (const char * s) {if (!s)
@@ -1408,12 +1406,12 @@ static ushort eth16i_parse_mediatype(con#define MAX_ETH16I_CARDS 4/* Max number of Eth16i cards per module */ static struct net_device *dev_eth16i[MAX_ETH16I_CARDS ]; -static int io[MAX_ETH16I_CARDS ]; +static int io[MAX_ETH16I_CARDS ]__initdata ;#if 0 -static int irq[MAX_ETH16I_CARDS ]; +static int irq[MAX_ETH16I_CARDS ]__initdata ;#endif -static char * mediatype[MAX_ETH16I_CARDS ]; -static int debug =-1 ; +static char * mediatype[MAX_ETH16I_CARDS ]__initdata ; +static int debug__initdata =-1 ;MODULE_AUTHOR ("Mika Kuoppala <[email protected]>" );MODULE_DESCRIPTION ("ICL EtherTeam 16i/32 driver" );
@@ -1434,7 +1432,7 @@ MODULE_PARM_DESC(mediatype, "eth16i medimodule_param (debug, int,0 );MODULE_PARM_DESC (debug,"eth16i debug level (0-6)" ); -int init_module (void ) +static int __init eth16i_init_module (void ) {int this_dev, found =0 ;struct net_device *dev;
@@ -1479,7 +1477,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit eth16i_cleanup_module(void) {int this_dev;
@@ -1494,7 +1492,9 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (eth16i_init_module) +module_exit (eth16i_cleanup_module)/* * Local variables:
drivers/net/fmv18x.c +5 -5
@@ -647,7 +647,6 @@ static void set_multicast_list(struct neoutb (2 , ioaddr +RX_MODE );/* Disable promiscuous, use normal mode */ } -#ifdef MODULE static struct net_device *dev_fmv18x;MODULE_PARM (io,"i" );
@@ -658,7 +657,7 @@ MODULE_PARM_DESC(irq, "FMV-18X IRQ numbeMODULE_PARM_DESC (net_debug,"FMV-18X debug level (0-1,5-6)" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init fmv18x_init_module (void ) {if (io ==0 )printk ("fmv18x: You should not use auto-probing with insmod!\n" );
@@ -668,15 +667,16 @@ int init_module(void)return 0 ; } -void -cleanup_module (void ) +static void __exit fmv18x_cleanup_module(void) {unregister_netdev (dev_fmv18x);free_irq (dev_fmv18x->irq, dev_fmv18x);release_region (dev_fmv18x->base_addr,FMV18X_IO_EXTENT );free_netdev (dev_fmv18x); } -#endif /* MODULE */ + +module_init (fmv18x_init_module) +module_exit (fmv18x_cleanup_module)/* * Local variables:
drivers/net/ibmlana.c +8 -7
@@ -1015,13 +1015,11 @@ static int ibmlana_probe(struct net_devi* modularization support * ------------------------------------------------------------------------ */ -#ifdef MODULE -#define DEVMAX 5static struct net_device *moddevs[DEVMAX ]; -static int irq; -static int io; +static int irq__initdata ; +static int io__initdata ;module_param (irq, int,0 );module_param (io, int,0 );
@@ -1029,7 +1027,7 @@ MODULE_PARM_DESC(irq, "IBM LAN/A IRQ numMODULE_PARM_DESC (io,"IBM LAN/A I/O base address" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init ibmlana_init_module (void ) {int z;
@@ -1059,7 +1057,7 @@ int init_module(void)return (z >0 ) ?0 : -EIO ; } -void cleanup_module (void ) +static void __exit ibmlana_cleanup_module(void) {int z;for (z =0 ; z <DEVMAX ; z++) {
@@ -1077,4 +1075,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ibmlana_init_module) +module_exit (ibmlana_cleanup_module) +
drivers/net/isa-skeleton.c +8 -10
@@ -664,16 +664,14 @@ set_multicast_list(struct net_device *deoutw (0 , ioaddr); } -#ifdef MODULE -static struct net_device *this_device; -static int io =0x300 ; -static int irq; -static int dma; -static int mem; +static int io__initdata =0x300 ; +static int irq__initdata ; +static int dma__initdata ; +static int mem__initdata ;MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init net_init_module (void ) {struct net_device *dev;int result;
@@ -701,15 +699,15 @@ int init_module(void)return -ENXIO ; } -void -cleanup_module (void ) +static void __exit net_cleanup_module(void) {unregister_netdev (this_device);cleanup_card (this_device);free_netdev (this_device); } -#endif /* MODULE */ +module_init (net_init_module) +module_exit (net_cleanup_module)/* * Local variables:
drivers/net/lance.c +8 -8
@@ -307,7 +307,6 @@ static struct net_device_stats *lance_gestatic void set_multicast_list (struct net_device *dev);static void lance_tx_timeout (struct net_device *dev); -static void cleanup_card (struct net_device *dev) {
@@ -320,13 +319,12 @@ static void cleanup_card(struct net_devikfree (lp); } -#ifdef MODULE #define MAX_CARDS 8/* Max number of interfaces (cards) per module */ static struct net_device *dev_lance[MAX_CARDS ]; -static int io[MAX_CARDS ]; -static int dma[MAX_CARDS ]; -static int irq[MAX_CARDS ]; +static int io[MAX_CARDS ]__initdata ; +static int dma[MAX_CARDS ]__initdata ; +static int irq[MAX_CARDS ]__initdata ;module_param_array (io, int,NULL ,0 );module_param_array (dma, int,NULL ,0 );
@@ -337,7 +335,7 @@ MODULE_PARM_DESC(dma, "LANCE/PCnet ISA DMODULE_PARM_DESC (irq,"LANCE/PCnet IRQ number (ignored for some devices)" );MODULE_PARM_DESC (lance_debug,"LANCE/PCnet debug level (0-7)" ); -int init_module (void ) +static int __init lance_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -370,7 +368,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit lance_cleanup_module(void) {int this_dev;
@@ -383,8 +381,10 @@ void cleanup_module(void) } } } -#endif /* MODULE */ +MODULE_LICENSE ("GPL" ); +module_init (lance_init_module) +module_exit (lance_cleanup_module)/* Starting in v2.1.*, the LANCE/PCnet probe is now similar to the other
drivers/net/lne390.c +8 -7
@@ -395,12 +395,11 @@ static int lne390_close(struct net_devicreturn 0 ; } -#ifdef MODULE #define MAX_LNE_CARDS 4/* Max number of LNE390 cards per module */ static struct net_device *dev_lne[MAX_LNE_CARDS ]; -static int io[MAX_LNE_CARDS ]; -static int irq[MAX_LNE_CARDS ]; -static int mem[MAX_LNE_CARDS ]; +static int io[MAX_LNE_CARDS ]__initdata ; +static int irq[MAX_LNE_CARDS ]__initdata ; +static int mem[MAX_LNE_CARDS ]__initdata ;module_param_array (io, int,NULL ,0 );module_param_array (irq, int,NULL ,0 );
@@ -411,7 +410,7 @@ MODULE_PARM_DESC(mem, "memory base addreMODULE_DESCRIPTION ("Mylex LNE390A/B EISA Ethernet driver" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init lne390_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -441,7 +440,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit lne390_cleanup_module(void) {int this_dev;
@@ -454,5 +453,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (lne390_init_module) +module_exit (lne390_cleanup_module)
drivers/net/mac8390.c +4 -4
@@ -374,14 +374,13 @@ out:return ERR_PTR (err); } -#ifdef MODULE MODULE_AUTHOR ("David Huggins-Daines <[email protected]> and others" );MODULE_DESCRIPTION ("Macintosh NS8390-based Nubus Ethernet driver" );MODULE_LICENSE ("GPL" );/* overkill, of course */ static struct net_device *dev_mac8390[15 ]; -int init_module (void ) +static int __init mac8390_init_module (void ) {int i;for (i =0 ; i <15 ; i++) {
@@ -397,7 +396,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit mac8390_cleanup_module(void) {int i;for (i =0 ; i <15 ; i++) {
@@ -409,7 +408,8 @@ void cleanup_module(void) } } -#endif /* MODULE */ +module_init(mac8390_init_module) +module_exit(mac8390_cleanup_module) static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * ndev, enum mac8390_type type)
drivers/net/mac89x0.c +8 -8
@@ -624,17 +624,15 @@ static int set_mac_address(struct net_dereturn 0 ; } -#ifdef MODULE -static struct net_device *dev_cs89x0; -static int debug; +static int debug__initdata ;MODULE_PARM (debug,"i" );MODULE_PARM_DESC (debug,"CS89[02]0 debug level (0-5)" );MODULE_LICENSE ("GPL" ); -int -init_module (void ) +static int __init +mac90x0_init_module (void ) { net_debug = debug; dev_cs89x0 =mac89x0_probe (-1 );
@@ -645,14 +643,16 @@ init_module(void)return 0 ; } -void -cleanup_module (void ) +static void __exit +mac90x0cleanup_module (void ) {unregister_netdev (dev_cs89x0);nubus_writew (0 , dev_cs89x0->base_addr +ADD_PORT );free_netdev (dev_cs89x0); } -#endif /* MODULE */ + +module_init (mac90x0_init_module) +module_exit (mac90x0_cleanup_module)/* * Local variables:
drivers/net/mvme147.c +4 -4
@@ -180,11 +180,10 @@ static int m147lance_close(struct net_dereturn 0 ; } -#ifdef MODULE MODULE_LICENSE ("GPL" );static struct net_device *dev_mvme147_lance; -int init_module (void ) +static int __init m147lance_init_module (void ) { dev_mvme147_lance =mvme147lance_probe (-1 );if (IS_ERR (dev_mvme147_lance))
@@ -192,7 +191,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit m147lance_cleanup_module(void) {struct m147lance_private *lp = dev_mvme147_lance->priv;unregister_netdev (dev_mvme147_lance);
@@ -200,4 +199,5 @@ void cleanup_module(void)free_netdev (dev_mvme147_lance); } -#endif /* MODULE */ +module_init (m147lance_init_module) +module_exit (m147lance_cleanup_module)
drivers/net/ne2.c +9 -7
@@ -769,12 +769,11 @@ retry: } -#ifdef MODULE #define MAX_NE_CARDS 4/* Max number of NE cards per module */ static struct net_device *dev_ne[MAX_NE_CARDS ]; -static int io[MAX_NE_CARDS ]; -static int irq[MAX_NE_CARDS ]; -static int bad[MAX_NE_CARDS ];/* 0xbad = bad sig or no reset ack */ +static int io[MAX_NE_CARDS ]__initdata ; +static int irq[MAX_NE_CARDS ]__initdata ; +static int bad[MAX_NE_CARDS ]__initdata ;/* 0xbad = bad sig or no reset ack */ MODULE_LICENSE ("GPL" );module_param_array (io, int,NULL ,0 );
@@ -786,7 +785,7 @@ MODULE_PARM_DESC(bad, "(ignored)");/* Module code fixed by David Weinehall */ -int init_module (void ) +static int __init ne_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -814,7 +813,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit ne_cleanup_module(void) {int this_dev;
@@ -827,4 +826,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ne_init_module) +module_exit (ne_cleanup_module) +
drivers/net/ne.c +9 -8
@@ -793,13 +793,11 @@ retry:return ; } - -#ifdef MODULE #define MAX_NE_CARDS 4/* Max number of NE cards per module */ static struct net_device *dev_ne[MAX_NE_CARDS ]; -static int io[MAX_NE_CARDS ]; -static int irq[MAX_NE_CARDS ]; -static int bad[MAX_NE_CARDS ];/* 0xbad = bad sig or no reset ack */ +static int io[MAX_NE_CARDS ]__initdata ; +static int irq[MAX_NE_CARDS ]__initdata ; +static int bad[MAX_NE_CARDS ]__initdata ;/* 0xbad = bad sig or no reset ack */ module_param_array (io, int,NULL ,0 );module_param_array (irq, int,NULL ,0 );
@@ -815,7 +813,7 @@ that the ne2k probe is the last 8390 basis at boot) and so the probe will get confused by any other 8390 cards. ISA device autoprobes on a running machine are not recommended anyway. */ -int init_module (void ) +static int __init ne_init_module (void ) {int this_dev, found =0 ;
@@ -847,7 +845,7 @@ int init_module(void)return -ENODEV ; } -void cleanup_module (void ) +static void __exit ne_cleanup_module(void) {int this_dev;
@@ -860,4 +858,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ne_init_module) +module_exit (ne_cleanup_module) +
drivers/net/ne-h8300.c +9 -8
@@ -593,13 +593,11 @@ retry:return ; } - -#ifdef MODULE #define MAX_NE_CARDS 1/* Max number of NE cards per module */ static struct net_device *dev_ne[MAX_NE_CARDS ]; -static int io[MAX_NE_CARDS ]; -static int irq[MAX_NE_CARDS ]; -static int bad[MAX_NE_CARDS ];/* 0xbad = bad sig or no reset ack */ +static int io[MAX_NE_CARDS ]__initdata ; +static int irq[MAX_NE_CARDS ]__initdata ; +static int bad[MAX_NE_CARDS ]__initdata ;/* 0xbad = bad sig or no reset ack */ MODULE_PARM(io, "1-" __MODULE_STRING(MAX_NE_CARDS) "i"); MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
@@ -614,7 +612,7 @@ that the ne2k probe is the last 8390 basis at boot) and so the probe will get confused by any other 8390 cards. ISA device autoprobes on a running machine are not recommended anyway. */ -int init_module (void ) +static int __init ne_init_module (void ) {int this_dev, found =0 ;int err;
@@ -655,7 +653,7 @@ int init_module(void)return -ENODEV ; } -void cleanup_module (void ) +static void __exit ne_cleanup_module(void) {int this_dev;
@@ -668,4 +666,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ne_init_module) +module_exit (ne_cleanup_module) +
drivers/net/ni5010.c +4 -4
@@ -763,7 +763,6 @@ static void ni5010_show_registers(structPRINTK3 ((KERN_DEBUG "%s: ISTAT %#2.2x\n" , dev->name,inb (IE_ISTAT ))); } -#ifdef MODULE static struct net_device *dev_ni5010;MODULE_PARM (io,"i" );
@@ -771,7 +770,7 @@ MODULE_PARM(irq, "i");MODULE_PARM_DESC (io,"ni5010 I/O base address" );MODULE_PARM_DESC (irq,"ni5010 IRQ number" ); -int init_module (void ) +static int __init ni5010_init_module (void ) {PRINTK2 ((KERN_DEBUG "%s: entering init_module\n" , boardname));/*
@@ -792,15 +791,16 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit ni5010_cleanup_module(void) {PRINTK2 ((KERN_DEBUG "%s: entering cleanup_module\n" , boardname));unregister_netdev (dev_ni5010);release_region (dev_ni5010->base_addr,NI5010_IO_EXTENT );free_netdev (dev_ni5010); } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); +module_init (ni5010_init_module) +module_exit (ni5010_cleanup_module)/* * Local variables:
drivers/net/ni52.c +4 -4
@@ -1311,7 +1311,6 @@ static void set_multicast_list(struct nenetif_wake_queue (dev); } -#ifdef MODULE static struct net_device *dev_ni52;module_param (io, int,0 );
@@ -1323,7 +1322,7 @@ MODULE_PARM_DESC(irq, "NI5210 IRQ numberMODULE_PARM_DESC (memstart,"NI5210 memory base address,required" );MODULE_PARM_DESC (memend,"NI5210 memory end address,required" ); -int init_module (void ) +static int __init ni52_init_module (void ) {if (io <=0x0 || !memend || !memstart || irq <2 ) {printk ("ni52: Autoprobing not allowed for modules.\nni52: Set symbols 'io' 'irq' 'memstart' and 'memend'\n" );
@@ -1335,13 +1334,12 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit ni52_cleanup_module(void) {unregister_netdev (dev_ni52);release_region (dev_ni52->base_addr,NI52_TOTAL_SIZE );free_netdev (dev_ni52); } -#endif /* MODULE */ #if 0 /*
@@ -1380,6 +1378,8 @@ void ni52_dump(struct net_device *dev,vo }#endif MODULE_LICENSE ("GPL" ); +module_init (ni52_init_module) +module_exit (ni52_cleanup_module)/* * END: linux/drivers/net/ni52.c
drivers/net/ni65.c +4 -4
@@ -1246,7 +1246,6 @@ static void set_multicast_list(struct nenetif_wake_queue (dev); } -#ifdef MODULE static struct net_device *dev_ni65;module_param (irq, int,0 );
@@ -1256,21 +1255,22 @@ MODULE_PARM_DESC(irq, "ni6510 IRQ numberMODULE_PARM_DESC (io,"ni6510 I/O base address" );MODULE_PARM_DESC (dma,"ni6510 ISA DMA channel (ignored for some cards)" ); -int init_module (void ) +static int __init ni65_init_module (void ) { dev_ni65 =ni65_probe (-1 );return IS_ERR (dev_ni65) ?PTR_ERR (dev_ni65) :0 ; } -void cleanup_module (void ) +static void __exit ni65_cleanup_module(void) {unregister_netdev (dev_ni65);cleanup_card (dev_ni65);free_netdev (dev_ni65); } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); +module_init (ni65_init_module) +module_exit (ni65_cleanup_module)/* * END of ni65.c
drivers/net/seeq8005.c +5 -6
@@ -733,8 +733,6 @@ static void hardware_send_packet(struct } -#ifdef MODULE -static struct net_device *dev_seeq;MODULE_LICENSE ("GPL" );module_param (io, int,0 );
@@ -742,7 +740,7 @@ module_param(irq, int, 0);MODULE_PARM_DESC (io,"SEEQ 8005 I/O base address" );MODULE_PARM_DESC (irq,"SEEQ 8005 IRQ number" ); -int init_module (void ) +static int __init seeq8005_init_module (void ) { dev_seeq =seeq8005_probe (-1 );if (IS_ERR (dev_seeq))
@@ -750,15 +748,16 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit seeq8005_cleanup_module(void) {unregister_netdev (dev_seeq);release_region (dev_seeq->base_addr,SEEQ8005_IO_EXTENT );free_netdev (dev_seeq); } -#endif /* MODULE */ - +module_init (seeq8005_init_module) +module_exit (seeq8005_cleanup_module) +/* * Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/net/inet -Wall -Wstrict-prototypes -O6 -m486 -c skeleton.c"
drivers/net/sk_mca.c +6 -4
@@ -1178,14 +1178,13 @@ struct net_device * __init skmca_probe(i* modularization support * ------------------------------------------------------------------------ */ -#ifdef MODULE MODULE_LICENSE ("GPL" );#define DEVMAX 5static struct net_device *moddevs[DEVMAX ]; -int init_module (void ) +static int __init skmca_init_module (void ) {int z;
@@ -1201,7 +1200,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit skmca_cleanup_module(void) {int z;
@@ -1214,4 +1213,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (skmca_init_module) +module_exit (skmca_cleanup_module) +
drivers/net/slhc.c +5 -5
@@ -701,20 +701,17 @@ EXPORT_SYMBOL(slhc_compress);EXPORT_SYMBOL (slhc_uncompress);EXPORT_SYMBOL (slhc_toss); -#ifdef MODULE - -int init_module (void ) +static int __init slhc_init_module (void ) {printk (KERN_INFO "CSLIP: code copyright 1989 Regents of the University of California\n" );return 0 ; } -void cleanup_module (void ) +static void __exit slhc_cleanup_module(void) {return ; } -#endif /* MODULE */ #else /* CONFIG_INET */
@@ -766,3 +763,6 @@ EXPORT_SYMBOL(slhc_toss);#endif /* CONFIG_INET */ MODULE_LICENSE ("Dual BSD/GPL" ); +module_init (slhc_init_module) +module_exit (slhc_cleanup_module) +
drivers/net/smc9194.c +4 -5
@@ -1595,8 +1595,6 @@ static void smc_set_multicast_list(struc } } -#ifdef MODULE -static struct net_device *devSMC9194;MODULE_LICENSE ("GPL" );
@@ -1607,7 +1605,7 @@ MODULE_PARM_DESC(io, "SMC 99194 I/O baseMODULE_PARM_DESC (irq,"SMC 99194 IRQ number" );MODULE_PARM_DESC (ifport,"SMC 99194 interface port (0-default, 1-TP, 2-AUI)" ); -int init_module (void ) +static int __init smc_init_module (void ) {if (io ==0 ) printk(KERN_WARNING
@@ -1620,7 +1618,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit smc_cleanup_module(void) {unregister_netdev (devSMC9194);free_irq (devSMC9194->irq, devSMC9194);
@@ -1628,4 +1626,5 @@ void cleanup_module(void)free_netdev (devSMC9194); } -#endif /* MODULE */ +module_init (smc_init_module) +module_exit (smc_cleanup_module)
drivers/net/smc-ultra32.c +6 -5
@@ -413,15 +413,14 @@ static void ultra32_block_output(structmemcpy_toio (xfer_start, buf, count); } - -#ifdef MODULE +#define MAX_ULTRA32_CARDS 4/* Max number of Ultra cards per module */ static struct net_device *dev_ultra[MAX_ULTRA32_CARDS ];MODULE_DESCRIPTION ("SMC Ultra32 EISA ethernet driver" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init ultra32_init_module (void ) {int this_dev, found =0 ;
@@ -437,7 +436,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit ultra32_cleanup_module(void) {int this_dev;
@@ -450,5 +449,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ultra32_init_module) +module_exit (ultra32_cleanup_module)
drivers/net/sun3lance.c +4 -5
@@ -940,11 +940,9 @@ static void set_multicast_list( struct n } -#ifdef MODULE -static struct net_device *sun3lance_dev; -int init_module (void ) +static int __init lance_init_module (void ) { sun3lance_dev =sun3lance_probe (-1 );if (IS_ERR (sun3lance_dev))
@@ -952,7 +950,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit lance_cleanup_module(void) {unregister_netdev (sun3lance_dev);#ifdef CONFIG_SUN3
@@ -961,5 +959,6 @@ void cleanup_module(void)free_netdev (sun3lance_dev); } -#endif /* MODULE */ +module_init (lance_init_module) +module_exit (lance_exit_module)
drivers/net/tokenring/proteon.c +7 -8
@@ -352,13 +352,11 @@ static int proteon_open(struct net_devicreturn tms380tr_open (dev); } -#ifdef MODULE -#define ISATR_MAX_ADAPTERS 3 -static int io[ISATR_MAX_ADAPTERS ]; -static int irq[ISATR_MAX_ADAPTERS ]; -static int dma[ISATR_MAX_ADAPTERS ]; +static int io[ISATR_MAX_ADAPTERS ]__initdata ; +static int irq[ISATR_MAX_ADAPTERS ]__initdata ; +static int dma[ISATR_MAX_ADAPTERS ]__initdata ;MODULE_LICENSE ("GPL" );
@@ -368,7 +366,7 @@ module_param_array(dma, int, NULL, 0);static struct net_device *proteon_dev[ISATR_MAX_ADAPTERS ]; -int init_module (void ) +static int __init proteon_init_module (void ) {struct net_device *dev;int i, num =0 , err =0 ;
@@ -399,7 +397,7 @@ int init_module(void)return (0 ); } -void cleanup_module (void ) +static void __exit proteon_cleanup_module(void) {int i;
@@ -417,7 +415,8 @@ void cleanup_module(void)free_netdev (dev); } } -#endif /* MODULE */ +module_init (proteon_init_module) +module_exit (proteon_cleanup_module)/*
drivers/net/tokenring/skisa.c +7 -8
@@ -361,13 +361,11 @@ static int sk_isa_open(struct net_devicereturn tms380tr_open (dev); } -#ifdef MODULE -#define ISATR_MAX_ADAPTERS 3 -static int io[ISATR_MAX_ADAPTERS ]; -static int irq[ISATR_MAX_ADAPTERS ]; -static int dma[ISATR_MAX_ADAPTERS ]; +static int io[ISATR_MAX_ADAPTERS ]__initdata ; +static int irq[ISATR_MAX_ADAPTERS ]__initdata ; +static int dma[ISATR_MAX_ADAPTERS ]__initdata ;MODULE_LICENSE ("GPL" );
@@ -377,7 +375,7 @@ module_param_array(dma, int, NULL, 0);static struct net_device *sk_isa_dev[ISATR_MAX_ADAPTERS ]; -int init_module (void ) +static int __init sk_isa_init_module (void ) {struct net_device *dev;int i, num =0 , err =0 ;
@@ -409,7 +407,7 @@ int init_module(void)return (0 ); } -void cleanup_module (void ) +static void __exit sk_isa_cleanup_module(void) {int i;
@@ -427,8 +425,9 @@ void cleanup_module(void)free_netdev (dev); } } -#endif /* MODULE */ +module_init (sk_isa_init_module) +module_exit (sk_isa_cleanup_module)/* * Local variables:
drivers/net/tokenring/smctr.c +7 -8
@@ -5655,11 +5655,9 @@ static int smctr_wait_while_cbusy(structreturn (HARDWARE_FAILED ); } -#ifdef MODULE -static struct net_device * dev_smctr[SMCTR_MAX_ADAPTERS ]; -static int io[SMCTR_MAX_ADAPTERS ]; -static int irq[SMCTR_MAX_ADAPTERS ]; +static int io[SMCTR_MAX_ADAPTERS ]__initdata ; +static int irq[SMCTR_MAX_ADAPTERS ]__initdata ;MODULE_LICENSE ("GPL" );
@@ -5667,7 +5665,7 @@ module_param_array(io, int, NULL, 0);module_param_array (irq, int,NULL ,0 );module_param (ringspeed, int,0 ); -static struct net_device *setup_card (int n) +static struct net_device *__init setup_card (int n) {struct net_device *dev =alloc_trdev (sizeof (struct net_local ));int err;
@@ -5699,7 +5697,7 @@ out: } -int init_module (void ) +static int __init smctr_init_module (void ) {int i, found =0 ;struct net_device *dev;
@@ -5715,7 +5713,7 @@ int init_module(void)return found ?0 : -ENODEV ; } -void cleanup_module (void ) +static void __exit smctr_cleanup_module(void) {int i;
@@ -5739,4 +5737,5 @@ void cleanup_module(void) } } } -#endif /* MODULE */ +module_init (smctr_init_module) +module_exit (smctr_cleanup_module)
drivers/net/tokenring/tms380tr.c +4 -5
@@ -2370,8 +2370,6 @@ int tmsdev_init(struct net_device *dev,return 0 ; } -#ifdef MODULE -EXPORT_SYMBOL (tms380tr_open);EXPORT_SYMBOL (tms380tr_close);EXPORT_SYMBOL (tms380tr_interrupt);
@@ -2381,7 +2379,7 @@ EXPORT_SYMBOL(tms380tr_wait);struct module *TMS380_module =NULL ; -int init_module (void ) +static int __init tms380_init_module (void ) {printk (KERN_DEBUG "%s" , version);
@@ -2389,13 +2387,14 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit tms380_cleanup_module(void) { TMS380_module =NULL ; } -#endif MODULE_LICENSE ("GPL" ); +module_init (tms380_init_module) +module_exit (tms380_cleanup_module)/*
drivers/net/wan/hostess_sv11.c +6 -8
@@ -383,10 +383,8 @@ static void sv11_shutdown(struct sv11_dekfree (dev); } -#ifdef MODULE - -static int io=0x200 ; -static int irq=9 ; +static int io__initdata =0x200 ; +static int irq__initdata =9 ;module_param (io, int,0 );MODULE_PARM_DESC (io,"The I/O base of the Comtrol Hostess SV11 card" );
@@ -401,7 +399,7 @@ MODULE_DESCRIPTION("Modular driver for tstatic struct sv11_device *sv11_unit; -int init_module (void ) +static int __init sv11_init_module (void ) {printk (KERN_INFO "SV-11 Z85230 Synchronous Driver v 0.03.\n" );printk (KERN_INFO "(c) Copyright 2001, Red Hat Inc.\n" );
@@ -410,11 +408,11 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit sv11_cleanup_module(void) {if (sv11_unit)sv11_shutdown (sv11_unit); } -#endif - +module_init (sv11_init_module) +module_exit (sv11_cleanup_module)
drivers/net/wireless/arlan-main.c +4 -5
@@ -1839,8 +1839,7 @@ struct net_device * __init arlan_probe(ireturn dev; } -#ifdef MODULE -int init_module (void ) +static int __init arlan_init_module (void ) {int i =0 ;
@@ -1862,7 +1861,7 @@ int init_module(void) } -void cleanup_module (void ) +static void __exit cleanup_module(void) {int i =0 ;struct net_device *dev;
@@ -1891,6 +1890,6 @@ void cleanup_module(void)ARLAN_DEBUG_EXIT ("cleanup_module" ); } - -#endif MODULE_LICENSE ("GPL" ); +module_init (arlan_init_module) +module_exit (arlan_cleanup_module)
drivers/net/wireless/wavelan.c +4 -4
@@ -4308,13 +4308,12 @@ out:* Module entry point: insertion and removal */ -#ifdef MODULE /*------------------------------------------------------------------*/ /* * Insertion of the module * I'm now quite proud of the multi-device support. */ -int init_module (void ) +static int __init wavelan_init_module (void ) {int ret = -EIO ;/* Return error if no cards found */ int i;
@@ -4378,7 +4377,7 @@ int init_module(void)/* * Removal of the module */ -void cleanup_module (void ) +static void __exit wavelan_cleanup_module(void) {#ifdef DEBUG_MODULE_TRACE printk (KERN_DEBUG "-> cleanup_module()\n" );
@@ -4405,8 +4404,9 @@ void cleanup_module(void)printk (KERN_DEBUG "<- cleanup_module()\n" );#endif } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); +module_init (wavelan_init_module) +module_exit (wavelan_cleanup_module)/* * This software may only be used and distributed
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 6 lines · Reiner Herrmann
Hi!
This is my first kernel patch, so I did a rather simple cleanup. Some network-drivers still used the old
init_module()/cleanup_module()way of de-/registering at the kernel.
Hi Reiner.
Nice, you got tabs and linewraps right the first time. Still, some issues and nitpicks:
Missing "Signed-off-by:";
Patch should probably be split per dir (diffsplit -d) and if some patch touches >1 file of a driver, per driver.
Also, diffstat -p1 when patching multiple files is great.
(http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt is a nice
read).
drivers/net/wireless/wavelan.c
Quoted 4 lines
diff -uprN
vanilla-2.6.12-rc5-kj/drivers/net/wireless/wavelan.clinux-2.6.12-rc5-kj/drivers/net/wireless/wavelan.cdrivers/net/wireless/wavelan.c +0
-0
This one (and probably some others) won't compile on !MODULE, because it includes wavelan.p.h with variables only defined on MODULE.
An ugly hack i used to quickly compile test it:
egrep "^--- " ~/netdrivers_module_cleanup.diff | cut -f2 -d' '| cut -f1 | cut -f2- -d'/' | sed 's/.c$/.o/g' | xargs -n1 make 2>&1
Btw. anyone knows how to make ie.
"make CFLAGS=-DMODULE drivers/net/3c59x.o" work?
Also, when playing with __init and __exit, "make namespacecheck" can catch some errors.
Domen
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors
On Sat, 28 May 2005 15:13:04 +0200 Domen Puncer wrote:
| On 28/05/05 12:50 +0200, Reiner Herrmann wrote: | > Hi! | > | > This is my first kernel patch, so I did a rather simple cleanup. | > Some network-drivers still used the old | > init_module() / cleanup_module() way of de-/registering | > at the kernel. | | Hi Reiner. | | Nice, you got tabs and linewraps right the first time. | Still, some issues and nitpicks: | | Missing "Signed-off-by:"; | Patch should probably be split per dir (diffsplit -d) and if some patch | touches >1 file of a driver, per driver. | Also, diffstat -p1 when patching multiple files is great. | (http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt is a nice | read). | | > | > diff -uprN vanilla-2.6.12-rc5-kj/drivers/net/wireless/wavelan.c linux-2.6.12-rc5-kj/drivers/net/wireless/wavelan.c | > --- vanilla-2.6.12-rc5-kj/drivers/net/wireless/wavelan.c 2005-03-02 08:38:26.000000000 +0100 | > +++ linux-2.6.12-rc5-kj/drivers/net/wireless/wavelan.c 2005-05-28 01:10:59.000000000 +0200 | | This one (and probably some others) won't compile on !MODULE, because | it includes wavelan.p.h with variables only defined on MODULE. | | An ugly hack i used to quickly compile test it: | egrep "^--- " ~/netdrivers_module_cleanup.diff | cut -f2 -d' '| cut -f1 | cut -f2- -d'/' | sed 's/.c$/.o/g' | xargs -n1 make 2>&1 | | Btw. anyone knows how to make ie. | "make CFLAGS=-DMODULE drivers/net/3c59x.o" work?
AFAIK, you need CONFIG_VORTEX=m in .conifg and then do:
rm drivers/net/3c59x*o
make modules SUBDIRS=drivers/net
or
make drivers/net/3c59x.o
| Also, when playing with __init and __exit, "make namespacecheck" can | catch some errors.
---
~Randy
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 3 lines · Domen Puncer
Missing "Signed-off-by:";
Patch should probably be split per dir (diffsplit -d) and if some patch touches >1 file of a driver, per driver.
In my opinion in this case it is OK, if there is only one patch, because I did only a single logical change to these files.
Quoted 3 lines
Also, diffstat -p1 when patching multiple files is great.
(http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt is a nice
read).
Thank you for the hint. I'll use this tool from now on.
Quoted 10 lines
drivers/net/wireless/wavelan.c
Quoted 3 lines
diff -uprN
vanilla-2.6.12-rc5-kj/drivers/net/wireless/wavelan.clinux-2.6.12-rc5-kj/drivers/net/wireless/wavelan.cdrivers/net/wireless/wavelan.c +0
-0This one (and probably some others) won't compile on !MODULE, because it includes
wavelan.p.hwith variables only defined on MODULE.An ugly hack i used to quickly compile test it:
egrep "^--- " ~/netdrivers_module_cleanup.diff | cut -f2 -d' '| cut -f1 | cut -f2- -d'/' | sed 's/.c$/.o/g' | xargs -n1 make 2>&1
The appended patch should now be correct.
---
So here are the statistics:
drivers/net/3c501.c | 13 ++++++------- drivers/net/3c507.c | 11 +++++------ drivers/net/3c523.c | 13 ++++++------- drivers/net/3c527.c | 13 ++++++------- drivers/net/82596.c | 16 ++++++++-------- drivers/net/8390.c | 10 +++++----- drivers/net/apne.c | 10 +++++----- drivers/net/appletalk/cops.c | 8 ++++---- drivers/net/arcnet/capmode.c | 10 ++++------ drivers/net/arcnet/com20020.c | 10 +++++----- drivers/net/at1700.c | 10 ++++------ drivers/net/atari_bionet.c | 11 +++++------ drivers/net/atari_pamsnet.c | 10 ++++------ drivers/net/atarilance.c | 10 ++++------ drivers/net/de620.c | 11 ++++++----- drivers/net/dgrs.c | 7 ++++++- drivers/net/eexpress.c | 14 +++++++------- drivers/net/eth16i.c | 18 +++++++++--------- drivers/net/fmv18x.c | 10 +++++----- drivers/net/ibmlana.c | 15 ++++++++------- drivers/net/isa-skeleton.c | 20 ++++++++------------ drivers/net/lance.c | 16 ++++++++-------- drivers/net/lne390.c | 15 ++++++++------- drivers/net/mac8390.c | 8 ++++---- drivers/net/mac89x0.c | 16 ++++++++-------- drivers/net/mvme147.c | 8 ++++---- drivers/net/ne-h8300.c | 17 +++++++++-------- drivers/net/ne.c | 17 +++++++++-------- drivers/net/ne2.c | 16 +++++++++------- drivers/net/ni5010.c | 8 ++++---- drivers/net/ni52.c | 8 ++++---- drivers/net/ni65.c | 8 ++++---- drivers/net/seeq8005.c | 11 +++++------ drivers/net/sk_mca.c | 10 ++++++---- drivers/net/slhc.c | 10 +++++----- drivers/net/smc-ultra32.c | 11 ++++++----- drivers/net/smc9194.c | 9 ++++----- drivers/net/sun3lance.c | 9 ++++----- drivers/net/tokenring/proteon.c | 15 +++++++-------- drivers/net/tokenring/skisa.c | 15 +++++++-------- drivers/net/tokenring/smctr.c | 15 +++++++-------- drivers/net/tokenring/tms380tr.c | 17 +++++------------ drivers/net/wan/hostess_sv11.c | 14 ++++++-------- drivers/net/wireless/arlan-main.c | 9 ++++----- drivers/net/wireless/wavelan.c | 8 ++++---- drivers/net/wireless/wavelan.p.h | 8 +++----- 46 files changed, 264 insertions(+), 284 deletions(-)
drivers/net/3c501.c +6 -7
@@ -888,8 +888,6 @@ static struct ethtool_ops netdev_ethtool .set_msglevel = netdev_set_msglevel, }; -#ifdef MODULE -static struct net_device *dev_3c501;module_param (io, int,0 );
@@ -898,7 +896,7 @@ MODULE_PARM_DESC(io, "EtherLink I/O baseMODULE_PARM_DESC (irq,"EtherLink IRQ number" );/** -* init_module: +* el_init_module: * * When the driver is loaded as a module this function is called. We fake up * a device structure with the base I/O and interrupt set as if it were being
@@ -909,7 +907,7 @@ MODULE_PARM_DESC(irq, "EtherLink IRQ num* here also causes the module to be unloaded */ -int init_module (void ) +static int __init el_init_module (void ) { dev_3c501 =el1_probe (-1 );if (IS_ERR (dev_3c501))
@@ -918,13 +916,13 @@ int init_module(void) }/** -* cleanup_module: +* el_cleanup_module: * * The module is being unloaded. We unhook our network device from the system * and then free up the resources we took when the card was found. */ -void cleanup_module (void ) +static void __exit el_cleanup_module(void) {struct net_device *dev = dev_3c501;unregister_netdev (dev);
@@ -932,7 +930,8 @@ void cleanup_module(void)free_netdev (dev); } -#endif /* MODULE */ +module_init(el_init_module) +module_exit(el_cleanup_module) MODULE_AUTHOR("Donald Becker, Alan Cox");MODULE_DESCRIPTION ("Support for the ancient 3Com 3c501 ethernet card" );
drivers/net/3c507.c +5 -6
@@ -925,14 +925,13 @@ static struct ethtool_ops netdev_ethtool .set_msglevel = netdev_set_msglevel, }; -#ifdef MODULE static struct net_device *dev_3c507;module_param (io, int,0 );module_param (irq, int,0 );MODULE_PARM_DESC (io,"EtherLink16 I/O base address" );MODULE_PARM_DESC (irq,"(ignored)" ); -int init_module (void ) +static int __init netdev_init_module (void ) {if (io ==0 )printk ("3c507: You should not use auto-probing with insmod!\n" );
@@ -940,8 +939,7 @@ int init_module(void)return IS_ERR (dev_3c507) ?PTR_ERR (dev_3c507) :0 ; } -void -cleanup_module (void ) +static void __exit netdev_cleanup_module(void) {struct net_device *dev = dev_3c507;unregister_netdev (dev);
@@ -950,10 +948,11 @@ cleanup_module(void)release_region (dev->base_addr,EL16_IO_EXTENT );free_netdev (dev); } -#endif /* MODULE */ +MODULE_LICENSE ("GPL" ); +module_init (netdev_init_module) +module_exit (netdev_cleanup_module) -/* * Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/net/inet -I/usr/src/linux/drivers/net -Wall -Wstrict-prototypes -O6 -m486 -c 3c507.c"
drivers/net/3c523.c +6 -7
@@ -1263,20 +1263,18 @@ static struct ethtool_ops netdev_ethtool .get_drvinfo = netdev_get_drvinfo, }; -#ifdef MODULE -/* Increase if needed ;) */ #define MAX_3C523_CARDS 4static struct net_device *dev_elmc[MAX_3C523_CARDS ]; -static int irq[MAX_3C523_CARDS ]; -static int io[MAX_3C523_CARDS ]; +static int irq[MAX_3C523_CARDS ]__initdata ; +static int io[MAX_3C523_CARDS ]__initdata ;module_param_array (irq, int,NULL ,0 );module_param_array (io, int,NULL ,0 );MODULE_PARM_DESC (io,"EtherLink/MC I/O base address(es)" );MODULE_PARM_DESC (irq,"EtherLink/MC IRQ number(s)" ); -int init_module (void ) +static int __init netdev_init_module (void ) {int this_dev,found =0 ;
@@ -1307,7 +1305,7 @@ int init_module(void) }else return 0 ; } -void cleanup_module (void ) +static void __exit netdev_cleanup_module(void) {int this_dev;for (this_dev=0 ; this_dev<MAX_3C523_CARDS ; this_dev++) {
@@ -1320,4 +1318,5 @@ void cleanup_module(void) } } -#endif /* MODULE */ +module_init (netdev_init_module) +module_exit (netdev_cleanup_module)
drivers/net/3c527.c +6 -7
@@ -1634,19 +1634,17 @@ static struct ethtool_ops netdev_ethtool .set_msglevel = netdev_set_msglevel, }; -#ifdef MODULE -static struct net_device *this_device;/** -* init_module - entry point +* netdev_init_module - entry point * * Probe and locate a 3c527 card. This really should probe and locate * all the 3c527 cards in the machine not just one of them. Yes you can * insmod multiple modules for now but it's a hack. */ -int init_module (void ) +static int __init netdev_init_module (void ) { this_device =mc32_probe (-1 );if (IS_ERR (this_device))
@@ -1655,7 +1653,7 @@ int init_module(void) }/** -* cleanup_module - free resources for an unload +* netdev_cleanup_module - free resources for an unload * * Unloading time. We release the MCA bus resources and the interrupt * at which point everything is ready to unload. The card must be stopped
@@ -1665,11 +1663,12 @@ int init_module(void)* transmit operations are allowed to start scribbling into memory. */ -void cleanup_module (void ) +static void __exit netdev_cleanup_module(void) {unregister_netdev (this_device);cleanup_card (this_device);free_netdev (this_device); } -#endif /* MODULE */ +module_init (netdev_init_module) +module_exit (netdev_cleanup_module)
drivers/net/82596.c +8 -8
@@ -1130,8 +1130,8 @@ static void print_eth(unsigned char *addprintk (" %02X%02X, %s\n" , add[12 ], add[13 ], str); } -static int io =0x300 ; -static int irq =10 ; +static int io__initdata =0x300 ; +static int irq__initdata =10 ;struct net_device *__init i82596_probe (int unit) {
@@ -1568,7 +1568,6 @@ static void set_multicast_list(struct ne } } -#ifdef MODULE static struct net_device *dev_82596;#ifdef ENABLE_APRICOT
@@ -1576,11 +1575,11 @@ module_param(irq, int, 0);MODULE_PARM_DESC (irq,"Apricot IRQ number" );#endif -static int debug =-1 ; +static int debug__initdata =-1 ;module_param (debug, int,0 );MODULE_PARM_DESC (debug,"i82596 debug mask" ); -int init_module (void ) +static int __init i596_init_module (void ) {if (debug >=0 ) i596_debug = debug;
@@ -1590,7 +1589,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit i596_cleanup_module(void) {unregister_netdev (dev_82596);#ifdef __mc68000__
@@ -1609,8 +1608,9 @@ void cleanup_module(void)free_netdev (dev_82596); } -#endif /* MODULE */ - +module_init (i596_init_module) +module_exit (i596_cleanup_module) +/* * Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/net/inet -Wall -Wstrict-prototypes -O6 -m486 -c 82596.c"
drivers/net/8390.c +5 -5
@@ -1115,16 +1115,16 @@ EXPORT_SYMBOL(ei_poll);EXPORT_SYMBOL (NS8390_init);EXPORT_SYMBOL (__alloc_ei_netdev); -#if defined(MODULE ) - -int init_module (void ) +static int __init NS8390_init_module (void ) {return 0 ; } -void cleanup_module (void ) +static void __exit NS8390_cleanup_module(void) { } -#endif /* MODULE */ +module_init(NS8390_init_module) +module_exit(NS8390_cleanup_module) + MODULE_LICENSE("GPL");
drivers/net/apne.c +5 -5
@@ -565,10 +565,9 @@ static irqreturn_t apne_interrupt(int irreturn IRQ_HANDLED ; } -#ifdef MODULE static struct net_device *apne_dev; -int init_module (void ) +static int __init apne_init_module (void ) { apne_dev =apne_probe (-1 );if (IS_ERR (apne_dev))
@@ -576,7 +575,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit apne_cleanup_module(void) {unregister_netdev (apne_dev);
@@ -591,8 +590,6 @@ void cleanup_module(void)free_netdev (apne_dev); } -#endif -static int init_pcmcia (void ) {u_char config;
@@ -636,3 +633,6 @@ static int init_pcmcia(void) }MODULE_LICENSE ("GPL" ); +module_init (apne_init_module) +module_exit (apne_cleanup_module) +
drivers/net/appletalk/cops.c +4 -4
@@ -1023,7 +1023,6 @@ static struct net_device_stats *cops_getreturn &lp->stats; } -#ifdef MODULE static struct net_device *cops_dev;MODULE_LICENSE ("GPL" );
@@ -1031,7 +1030,7 @@ module_param(io, int, 0);module_param (irq, int,0 );module_param (board_type, int,0 ); -int init_module (void ) +static int __init cops_init_module (void ) {if (io ==0 ) printk(KERN_WARNING "%s: You shouldn't autoprobe with insmod\n",
@@ -1042,13 +1041,14 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit cops_cleanup_module(void) {unregister_netdev (cops_dev);cleanup_card (cops_dev);free_netdev (cops_dev); } -#endif /* MODULE */ +module_init (cops_init_module) +module_exit (cops_cleanup_module)/* * Local variables:
drivers/net/arcnet/capmode.c +4 -6
@@ -78,23 +78,21 @@ void arcnet_cap_init(void) } -#ifdef MODULE - -int __init init_module (void ) +static int __init capmode_init_module (void ) {printk (VERSION );arcnet_cap_init ();return 0 ; } -void cleanup_module (void ) +static void __exit capmode_cleanup_module(void) {arcnet_unregister_proto (&capmode_proto); }MODULE_LICENSE ("GPL" ); -#endif /* MODULE */ - +module_init (capmode_init_module) +module_exit (capmode_cleanup_module)/* packet receiver */
drivers/net/arcnet/com20020.c +5 -5
@@ -337,21 +337,21 @@ static void com20020_set_mc_list(struct } } -#ifdef MODULE -EXPORT_SYMBOL (com20020_check);EXPORT_SYMBOL (com20020_found);MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init com20020_init_module (void ) {BUGLVL (D_NORMAL)printk (VERSION);return 0 ; } -void cleanup_module (void ) +static void __exit com20020_cleanup_module(void) { } -#endif /* MODULE */ +module_init (com20020_init_module) +module_exit (com20020_cleanup_module) +
drivers/net/at1700.c +4 -6
@@ -896,7 +896,6 @@ set_rx_mode(struct net_device *dev)return ; } -#ifdef MODULE static struct net_device *dev_at1700;module_param (io, int,0 );
@@ -906,7 +905,7 @@ MODULE_PARM_DESC(io, "AT1700/FMV18X I/OMODULE_PARM_DESC (irq,"AT1700/FMV18X IRQ number" );MODULE_PARM_DESC (net_debug,"AT1700/FMV18X debug level (0-6)" ); -int init_module (void ) +static int __init at1700_init_module (void ) {if (io ==0 )printk ("at1700: You should not use auto-probing with insmod!\n" );
@@ -916,16 +915,15 @@ int init_module(void)return 0 ; } -void -cleanup_module (void ) +static void __exit at1700_cleanup_module(void) {unregister_netdev (dev_at1700);cleanup_card (dev_at1700);free_netdev (dev_at1700); } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); - +module_init (at1700_init_module) +module_exit (at1700_cleanup_module)/* * Local variables:
drivers/net/atari_bionet.c +5 -6
@@ -642,12 +642,9 @@ static struct net_device_stats *net_get_return &lp->stats; } - -#ifdef MODULE -static struct net_device *bio_dev; -int init_module (void ) +static int __init bionet_init_module (void ) { bio_dev =bionet_probe (-1 );if (IS_ERR (bio_dev))
@@ -655,13 +652,15 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit bionet_cleanup_module(void) {unregister_netdev (bio_dev);free_netdev (bio_dev); } -#endif /* MODULE */ +module_init (bionet_init_module) +module_exit (bionet_cleanup_module) +/* Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/include
drivers/net/atarilance.c +4 -6
@@ -1176,11 +1176,9 @@ static int lance_set_mac_address( structreturn (0 ); } - -#ifdef MODULE static struct net_device *atarilance_dev; -int init_module (void ) +static int __init lance_init_module (void ) { atarilance_dev =atarilance_probe (-1 );if (IS_ERR (atarilance_dev))
@@ -1188,15 +1186,15 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit lance_cleanup_module(void) {unregister_netdev (atarilance_dev);free_irq (atarilance_dev->irq, atarilance_dev);free_netdev (atarilance_dev); } -#endif /* MODULE */ - +module_init (lance_init_module) +module_exit (lance_cleanup_module)/* * Local variables:
drivers/net/atari_pamsnet.c +4 -6
@@ -863,12 +863,9 @@ static struct net_device_stats *net_get_return &lp->stats; } - -#ifdef MODULE -static struct net_device *pam_dev; -int init_module (void ) +static int __init pamsnet_init_module (void ) { pam_dev =pamsnet_probe (-1 );if (IS_ERR (pam_dev))
@@ -876,13 +873,14 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit pamsnet_cleanup_module(void) {unregister_netdev (pam_dev);free_netdev (pam_dev); } -#endif /* MODULE */ +module_init (pamsnet_init_module) +module_exit (pamsnet_cleanup_module)/* Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/include
drivers/net/de620.c +6 -5
@@ -1009,10 +1009,10 @@ static int __init read_eeprom(struct net* Loadable module skeleton * */ -#ifdef MODULE +static struct net_device *de620_dev; -int init_module (void ) +static int __init de620_init_module (void ) { de620_dev =de620_probe (-1 );if (IS_ERR (de620_dev))
@@ -1020,16 +1020,17 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit de620_cleanup_module(void) {unregister_netdev (de620_dev);release_region (de620_dev->base_addr,3 );free_netdev (de620_dev); } -#endif /* MODULE */ +MODULE_LICENSE ("GPL" ); +module_init (de620_init_module) +module_exit (de620_cleanup_module) -/* * (add '-DMODULE' when compiling as loadable module) *
drivers/net/dgrs.c +6 -1
@@ -1549,7 +1549,12 @@ MODULE_PARM_DESC(nicmode, "Digi RightSwistatic int __init dgrs_init_module (void ) {int i; -int eisacount =0 , pcicount =0 ; +#ifdef CONFIG_EISA +int eisacount =0 ; +#endif +#ifdef CONFIG_PCI +int pcicount =0 ; +#endif /* * Command line variable overrides
drivers/net/eexpress.c +7 -7
@@ -1683,13 +1683,11 @@ eexp_set_multicast(struct net_device *de* MODULE stuff */ -#ifdef MODULE -#define EEXP_MAX_CARDS 4/* max number of cards to support */ static struct net_device *dev_eexp[EEXP_MAX_CARDS ]; -static int irq[EEXP_MAX_CARDS ]; -static int io[EEXP_MAX_CARDS ]; +static int irq[EEXP_MAX_CARDS ]__initdata ; +static int io[EEXP_MAX_CARDS ]__initdata ;module_param_array (io, int,NULL ,0 );module_param_array (irq, int,NULL ,0 );
@@ -1702,7 +1700,7 @@ MODULE_LICENSE("GPL");* are specified, we verify and then use them. If no parameters are given, we * autoprobe for one card only. */ -int init_module (void ) +static int __init eexp_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -1730,7 +1728,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit eexp_cleanup_module(void) {int this_dev;
@@ -1742,7 +1740,9 @@ void cleanup_module(void) } } } -#endif + +module_init (eexp_init_module) +module_exit (eexp_cleanup_module)/* * Local Variables:
drivers/net/eth16i.c +9 -9
@@ -1386,8 +1386,6 @@ static void eth16i_select_regbank(unsignoutb ( ((data &0xF3 ) | ( (banknbr &0x03 ) <<2 )), ioaddr +CONFIG_REG_1 ); } -#ifdef MODULE -static ushort eth16i_parse_mediatype (const char * s) {if (!s)
@@ -1408,12 +1406,12 @@ static ushort eth16i_parse_mediatype(con#define MAX_ETH16I_CARDS 4/* Max number of Eth16i cards per module */ static struct net_device *dev_eth16i[MAX_ETH16I_CARDS ]; -static int io[MAX_ETH16I_CARDS ]; +static int io[MAX_ETH16I_CARDS ]__initdata ;#if 0 -static int irq[MAX_ETH16I_CARDS ]; +static int irq[MAX_ETH16I_CARDS ]__initdata ;#endif -static char * mediatype[MAX_ETH16I_CARDS ]; -static int debug =-1 ; +static char * mediatype[MAX_ETH16I_CARDS ]__initdata ; +static int debug__initdata =-1 ;MODULE_AUTHOR ("Mika Kuoppala <[email protected]>" );MODULE_DESCRIPTION ("ICL EtherTeam 16i/32 driver" );
@@ -1434,7 +1432,7 @@ MODULE_PARM_DESC(mediatype, "eth16i medimodule_param (debug, int,0 );MODULE_PARM_DESC (debug,"eth16i debug level (0-6)" ); -int init_module (void ) +static int __init eth16i_init_module (void ) {int this_dev, found =0 ;struct net_device *dev;
@@ -1479,7 +1477,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit eth16i_cleanup_module(void) {int this_dev;
@@ -1494,7 +1492,9 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (eth16i_init_module) +module_exit (eth16i_cleanup_module)/* * Local variables:
drivers/net/fmv18x.c +5 -5
@@ -647,7 +647,6 @@ static void set_multicast_list(struct neoutb (2 , ioaddr +RX_MODE );/* Disable promiscuous, use normal mode */ } -#ifdef MODULE static struct net_device *dev_fmv18x;MODULE_PARM (io,"i" );
@@ -658,7 +657,7 @@ MODULE_PARM_DESC(irq, "FMV-18X IRQ numbeMODULE_PARM_DESC (net_debug,"FMV-18X debug level (0-1,5-6)" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init fmv18x_init_module (void ) {if (io ==0 )printk ("fmv18x: You should not use auto-probing with insmod!\n" );
@@ -668,15 +667,16 @@ int init_module(void)return 0 ; } -void -cleanup_module (void ) +static void __exit fmv18x_cleanup_module(void) {unregister_netdev (dev_fmv18x);free_irq (dev_fmv18x->irq, dev_fmv18x);release_region (dev_fmv18x->base_addr,FMV18X_IO_EXTENT );free_netdev (dev_fmv18x); } -#endif /* MODULE */ + +module_init (fmv18x_init_module) +module_exit (fmv18x_cleanup_module)/* * Local variables:
drivers/net/ibmlana.c +8 -7
@@ -1015,13 +1015,11 @@ static int ibmlana_probe(struct net_devi* modularization support * ------------------------------------------------------------------------ */ -#ifdef MODULE -#define DEVMAX 5static struct net_device *moddevs[DEVMAX ]; -static int irq; -static int io; +static int irq__initdata ; +static int io__initdata ;module_param (irq, int,0 );module_param (io, int,0 );
@@ -1029,7 +1027,7 @@ MODULE_PARM_DESC(irq, "IBM LAN/A IRQ numMODULE_PARM_DESC (io,"IBM LAN/A I/O base address" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init ibmlana_init_module (void ) {int z;
@@ -1059,7 +1057,7 @@ int init_module(void)return (z >0 ) ?0 : -EIO ; } -void cleanup_module (void ) +static void __exit ibmlana_cleanup_module(void) {int z;for (z =0 ; z <DEVMAX ; z++) {
@@ -1077,4 +1075,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ibmlana_init_module) +module_exit (ibmlana_cleanup_module) +
drivers/net/isa-skeleton.c +8 -12
@@ -161,7 +161,6 @@ static void cleanup_card(struct net_devirelease_region (dev->base_addr,NETCARD_IO_EXTENT ); } -#ifndef MODULE struct net_device *__init netcard_probe (int unit) {struct net_device *dev =alloc_etherdev (sizeof (struct net_local ));
@@ -186,7 +185,6 @@ out:free_netdev (dev);return ERR_PTR (err); } -#endif /* * This is the real probe routine. Linux has a history of friendly device
@@ -664,16 +662,14 @@ set_multicast_list(struct net_device *deoutw (0 , ioaddr); } -#ifdef MODULE -static struct net_device *this_device; -static int io =0x300 ; -static int irq; -static int dma; -static int mem; +static int io__initdata =0x300 ; +static int irq__initdata ; +static int dma__initdata ; +static int mem__initdata ;MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init net_init_module (void ) {struct net_device *dev;int result;
@@ -701,15 +697,15 @@ int init_module(void)return -ENXIO ; } -void -cleanup_module (void ) +static void __exit net_cleanup_module(void) {unregister_netdev (this_device);cleanup_card (this_device);free_netdev (this_device); } -#endif /* MODULE */ +module_init (net_init_module) +module_exit (net_cleanup_module)/* * Local variables:
drivers/net/lance.c +8 -8
@@ -307,7 +307,6 @@ static struct net_device_stats *lance_gestatic void set_multicast_list (struct net_device *dev);static void lance_tx_timeout (struct net_device *dev); -static void cleanup_card (struct net_device *dev) {
@@ -320,13 +319,12 @@ static void cleanup_card(struct net_devikfree (lp); } -#ifdef MODULE #define MAX_CARDS 8/* Max number of interfaces (cards) per module */ static struct net_device *dev_lance[MAX_CARDS ]; -static int io[MAX_CARDS ]; -static int dma[MAX_CARDS ]; -static int irq[MAX_CARDS ]; +static int io[MAX_CARDS ]__initdata ; +static int dma[MAX_CARDS ]__initdata ; +static int irq[MAX_CARDS ]__initdata ;module_param_array (io, int,NULL ,0 );module_param_array (dma, int,NULL ,0 );
@@ -337,7 +335,7 @@ MODULE_PARM_DESC(dma, "LANCE/PCnet ISA DMODULE_PARM_DESC (irq,"LANCE/PCnet IRQ number (ignored for some devices)" );MODULE_PARM_DESC (lance_debug,"LANCE/PCnet debug level (0-7)" ); -int init_module (void ) +static int __init lance_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -370,7 +368,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit lance_cleanup_module(void) {int this_dev;
@@ -383,8 +381,10 @@ void cleanup_module(void) } } } -#endif /* MODULE */ +MODULE_LICENSE ("GPL" ); +module_init (lance_init_module) +module_exit (lance_cleanup_module)/* Starting in v2.1.*, the LANCE/PCnet probe is now similar to the other
drivers/net/lne390.c +8 -7
@@ -395,12 +395,11 @@ static int lne390_close(struct net_devicreturn 0 ; } -#ifdef MODULE #define MAX_LNE_CARDS 4/* Max number of LNE390 cards per module */ static struct net_device *dev_lne[MAX_LNE_CARDS ]; -static int io[MAX_LNE_CARDS ]; -static int irq[MAX_LNE_CARDS ]; -static int mem[MAX_LNE_CARDS ]; +static int io[MAX_LNE_CARDS ]__initdata ; +static int irq[MAX_LNE_CARDS ]__initdata ; +static int mem[MAX_LNE_CARDS ]__initdata ;module_param_array (io, int,NULL ,0 );module_param_array (irq, int,NULL ,0 );
@@ -411,7 +410,7 @@ MODULE_PARM_DESC(mem, "memory base addreMODULE_DESCRIPTION ("Mylex LNE390A/B EISA Ethernet driver" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init lne390_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -441,7 +440,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit lne390_cleanup_module(void) {int this_dev;
@@ -454,5 +453,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (lne390_init_module) +module_exit (lne390_cleanup_module)
drivers/net/mac8390.c +4 -4
@@ -374,14 +374,13 @@ out:return ERR_PTR (err); } -#ifdef MODULE MODULE_AUTHOR ("David Huggins-Daines <[email protected]> and others" );MODULE_DESCRIPTION ("Macintosh NS8390-based Nubus Ethernet driver" );MODULE_LICENSE ("GPL" );/* overkill, of course */ static struct net_device *dev_mac8390[15 ]; -int init_module (void ) +static int __init mac8390_init_module (void ) {int i;for (i =0 ; i <15 ; i++) {
@@ -397,7 +396,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit mac8390_cleanup_module(void) {int i;for (i =0 ; i <15 ; i++) {
@@ -409,7 +408,8 @@ void cleanup_module(void) } } -#endif /* MODULE */ +module_init(mac8390_init_module) +module_exit(mac8390_cleanup_module) static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * ndev, enum mac8390_type type)
drivers/net/mac89x0.c +8 -8
@@ -624,17 +624,15 @@ static int set_mac_address(struct net_dereturn 0 ; } -#ifdef MODULE -static struct net_device *dev_cs89x0; -static int debug; +static int debug__initdata ;MODULE_PARM (debug,"i" );MODULE_PARM_DESC (debug,"CS89[02]0 debug level (0-5)" );MODULE_LICENSE ("GPL" ); -int -init_module (void ) +static int __init +mac90x0_init_module (void ) { net_debug = debug; dev_cs89x0 =mac89x0_probe (-1 );
@@ -645,14 +643,16 @@ init_module(void)return 0 ; } -void -cleanup_module (void ) +static void __exit +mac90x0cleanup_module (void ) {unregister_netdev (dev_cs89x0);nubus_writew (0 , dev_cs89x0->base_addr +ADD_PORT );free_netdev (dev_cs89x0); } -#endif /* MODULE */ + +module_init (mac90x0_init_module) +module_exit (mac90x0_cleanup_module)/* * Local variables:
drivers/net/mvme147.c +4 -4
@@ -180,11 +180,10 @@ static int m147lance_close(struct net_dereturn 0 ; } -#ifdef MODULE MODULE_LICENSE ("GPL" );static struct net_device *dev_mvme147_lance; -int init_module (void ) +static int __init m147lance_init_module (void ) { dev_mvme147_lance =mvme147lance_probe (-1 );if (IS_ERR (dev_mvme147_lance))
@@ -192,7 +191,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit m147lance_cleanup_module(void) {struct m147lance_private *lp = dev_mvme147_lance->priv;unregister_netdev (dev_mvme147_lance);
@@ -200,4 +199,5 @@ void cleanup_module(void)free_netdev (dev_mvme147_lance); } -#endif /* MODULE */ +module_init (m147lance_init_module) +module_exit (m147lance_cleanup_module)
drivers/net/ne2.c +9 -7
@@ -769,12 +769,11 @@ retry: } -#ifdef MODULE #define MAX_NE_CARDS 4/* Max number of NE cards per module */ static struct net_device *dev_ne[MAX_NE_CARDS ]; -static int io[MAX_NE_CARDS ]; -static int irq[MAX_NE_CARDS ]; -static int bad[MAX_NE_CARDS ];/* 0xbad = bad sig or no reset ack */ +static int io[MAX_NE_CARDS ]__initdata ; +static int irq[MAX_NE_CARDS ]__initdata ; +static int bad[MAX_NE_CARDS ]__initdata ;/* 0xbad = bad sig or no reset ack */ MODULE_LICENSE ("GPL" );module_param_array (io, int,NULL ,0 );
@@ -786,7 +785,7 @@ MODULE_PARM_DESC(bad, "(ignored)");/* Module code fixed by David Weinehall */ -int init_module (void ) +static int __init ne_init_module (void ) {struct net_device *dev;int this_dev, found =0 ;
@@ -814,7 +813,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit ne_cleanup_module(void) {int this_dev;
@@ -827,4 +826,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ne_init_module) +module_exit (ne_cleanup_module) +
drivers/net/ne.c +9 -8
@@ -793,13 +793,11 @@ retry:return ; } - -#ifdef MODULE #define MAX_NE_CARDS 4/* Max number of NE cards per module */ static struct net_device *dev_ne[MAX_NE_CARDS ]; -static int io[MAX_NE_CARDS ]; -static int irq[MAX_NE_CARDS ]; -static int bad[MAX_NE_CARDS ];/* 0xbad = bad sig or no reset ack */ +static int io[MAX_NE_CARDS ]__initdata ; +static int irq[MAX_NE_CARDS ]__initdata ; +static int bad[MAX_NE_CARDS ]__initdata ;/* 0xbad = bad sig or no reset ack */ module_param_array (io, int,NULL ,0 );module_param_array (irq, int,NULL ,0 );
@@ -815,7 +813,7 @@ that the ne2k probe is the last 8390 basis at boot) and so the probe will get confused by any other 8390 cards. ISA device autoprobes on a running machine are not recommended anyway. */ -int init_module (void ) +static int __init ne_init_module (void ) {int this_dev, found =0 ;
@@ -847,7 +845,7 @@ int init_module(void)return -ENODEV ; } -void cleanup_module (void ) +static void __exit ne_cleanup_module(void) {int this_dev;
@@ -860,4 +858,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ne_init_module) +module_exit (ne_cleanup_module) +
drivers/net/ne-h8300.c +9 -8
@@ -593,13 +593,11 @@ retry:return ; } - -#ifdef MODULE #define MAX_NE_CARDS 1/* Max number of NE cards per module */ static struct net_device *dev_ne[MAX_NE_CARDS ]; -static int io[MAX_NE_CARDS ]; -static int irq[MAX_NE_CARDS ]; -static int bad[MAX_NE_CARDS ];/* 0xbad = bad sig or no reset ack */ +static int io[MAX_NE_CARDS ]__initdata ; +static int irq[MAX_NE_CARDS ]__initdata ; +static int bad[MAX_NE_CARDS ]__initdata ;/* 0xbad = bad sig or no reset ack */ MODULE_PARM(io, "1-" __MODULE_STRING(MAX_NE_CARDS) "i"); MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_NE_CARDS) "i");
@@ -614,7 +612,7 @@ that the ne2k probe is the last 8390 basis at boot) and so the probe will get confused by any other 8390 cards. ISA device autoprobes on a running machine are not recommended anyway. */ -int init_module (void ) +static int __init ne_init_module (void ) {int this_dev, found =0 ;int err;
@@ -655,7 +653,7 @@ int init_module(void)return -ENODEV ; } -void cleanup_module (void ) +static void __exit ne_cleanup_module(void) {int this_dev;
@@ -668,4 +666,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ne_init_module) +module_exit (ne_cleanup_module) +
drivers/net/ni5010.c +4 -4
@@ -763,7 +763,6 @@ static void ni5010_show_registers(structPRINTK3 ((KERN_DEBUG "%s: ISTAT %#2.2x\n" , dev->name,inb (IE_ISTAT ))); } -#ifdef MODULE static struct net_device *dev_ni5010;MODULE_PARM (io,"i" );
@@ -771,7 +770,7 @@ MODULE_PARM(irq, "i");MODULE_PARM_DESC (io,"ni5010 I/O base address" );MODULE_PARM_DESC (irq,"ni5010 IRQ number" ); -int init_module (void ) +static int __init ni5010_init_module (void ) {PRINTK2 ((KERN_DEBUG "%s: entering init_module\n" , boardname));/*
@@ -792,15 +791,16 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit ni5010_cleanup_module(void) {PRINTK2 ((KERN_DEBUG "%s: entering cleanup_module\n" , boardname));unregister_netdev (dev_ni5010);release_region (dev_ni5010->base_addr,NI5010_IO_EXTENT );free_netdev (dev_ni5010); } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); +module_init (ni5010_init_module) +module_exit (ni5010_cleanup_module)/* * Local variables:
drivers/net/ni52.c +4 -4
@@ -1311,7 +1311,6 @@ static void set_multicast_list(struct nenetif_wake_queue (dev); } -#ifdef MODULE static struct net_device *dev_ni52;module_param (io, int,0 );
@@ -1323,7 +1322,7 @@ MODULE_PARM_DESC(irq, "NI5210 IRQ numberMODULE_PARM_DESC (memstart,"NI5210 memory base address,required" );MODULE_PARM_DESC (memend,"NI5210 memory end address,required" ); -int init_module (void ) +static int __init ni52_init_module (void ) {if (io <=0x0 || !memend || !memstart || irq <2 ) {printk ("ni52: Autoprobing not allowed for modules.\nni52: Set symbols 'io' 'irq' 'memstart' and 'memend'\n" );
@@ -1335,13 +1334,12 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit ni52_cleanup_module(void) {unregister_netdev (dev_ni52);release_region (dev_ni52->base_addr,NI52_TOTAL_SIZE );free_netdev (dev_ni52); } -#endif /* MODULE */ #if 0 /*
@@ -1380,6 +1378,8 @@ void ni52_dump(struct net_device *dev,vo }#endif MODULE_LICENSE ("GPL" ); +module_init (ni52_init_module) +module_exit (ni52_cleanup_module)/* * END: linux/drivers/net/ni52.c
drivers/net/ni65.c +4 -4
@@ -1246,7 +1246,6 @@ static void set_multicast_list(struct nenetif_wake_queue (dev); } -#ifdef MODULE static struct net_device *dev_ni65;module_param (irq, int,0 );
@@ -1256,21 +1255,22 @@ MODULE_PARM_DESC(irq, "ni6510 IRQ numberMODULE_PARM_DESC (io,"ni6510 I/O base address" );MODULE_PARM_DESC (dma,"ni6510 ISA DMA channel (ignored for some cards)" ); -int init_module (void ) +static int __init ni65_init_module (void ) { dev_ni65 =ni65_probe (-1 );return IS_ERR (dev_ni65) ?PTR_ERR (dev_ni65) :0 ; } -void cleanup_module (void ) +static void __exit ni65_cleanup_module(void) {unregister_netdev (dev_ni65);cleanup_card (dev_ni65);free_netdev (dev_ni65); } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); +module_init (ni65_init_module) +module_exit (ni65_cleanup_module)/* * END of ni65.c
drivers/net/seeq8005.c +5 -6
@@ -733,8 +733,6 @@ static void hardware_send_packet(struct } -#ifdef MODULE -static struct net_device *dev_seeq;MODULE_LICENSE ("GPL" );module_param (io, int,0 );
@@ -742,7 +740,7 @@ module_param(irq, int, 0);MODULE_PARM_DESC (io,"SEEQ 8005 I/O base address" );MODULE_PARM_DESC (irq,"SEEQ 8005 IRQ number" ); -int init_module (void ) +static int __init seeq8005_init_module (void ) { dev_seeq =seeq8005_probe (-1 );if (IS_ERR (dev_seeq))
@@ -750,15 +748,16 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit seeq8005_cleanup_module(void) {unregister_netdev (dev_seeq);release_region (dev_seeq->base_addr,SEEQ8005_IO_EXTENT );free_netdev (dev_seeq); } -#endif /* MODULE */ - +module_init (seeq8005_init_module) +module_exit (seeq8005_cleanup_module) +/* * Local variables: * compile-command: "gcc -D__KERNEL__ -I/usr/src/linux/net/inet -Wall -Wstrict-prototypes -O6 -m486 -c skeleton.c"
drivers/net/sk_mca.c +6 -4
@@ -1178,14 +1178,13 @@ struct net_device * __init skmca_probe(i* modularization support * ------------------------------------------------------------------------ */ -#ifdef MODULE MODULE_LICENSE ("GPL" );#define DEVMAX 5static struct net_device *moddevs[DEVMAX ]; -int init_module (void ) +static int __init skmca_init_module (void ) {int z;
@@ -1201,7 +1200,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit skmca_cleanup_module(void) {int z;
@@ -1214,4 +1213,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (skmca_init_module) +module_exit (skmca_cleanup_module) +
drivers/net/slhc.c +5 -5
@@ -701,20 +701,17 @@ EXPORT_SYMBOL(slhc_compress);EXPORT_SYMBOL (slhc_uncompress);EXPORT_SYMBOL (slhc_toss); -#ifdef MODULE - -int init_module (void ) +static int __init slhc_init_module (void ) {printk (KERN_INFO "CSLIP: code copyright 1989 Regents of the University of California\n" );return 0 ; } -void cleanup_module (void ) +static void __exit slhc_cleanup_module(void) {return ; } -#endif /* MODULE */ #else /* CONFIG_INET */
@@ -766,3 +763,6 @@ EXPORT_SYMBOL(slhc_toss);#endif /* CONFIG_INET */ MODULE_LICENSE ("Dual BSD/GPL" ); +module_init (slhc_init_module) +module_exit (slhc_cleanup_module) +
drivers/net/smc9194.c +4 -5
@@ -1595,8 +1595,6 @@ static void smc_set_multicast_list(struc } } -#ifdef MODULE -static struct net_device *devSMC9194;MODULE_LICENSE ("GPL" );
@@ -1607,7 +1605,7 @@ MODULE_PARM_DESC(io, "SMC 99194 I/O baseMODULE_PARM_DESC (irq,"SMC 99194 IRQ number" );MODULE_PARM_DESC (ifport,"SMC 99194 interface port (0-default, 1-TP, 2-AUI)" ); -int init_module (void ) +static int __init smc_init_module (void ) {if (io ==0 ) printk(KERN_WARNING
@@ -1620,7 +1618,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit smc_cleanup_module(void) {unregister_netdev (devSMC9194);free_irq (devSMC9194->irq, devSMC9194);
@@ -1628,4 +1626,5 @@ void cleanup_module(void)free_netdev (devSMC9194); } -#endif /* MODULE */ +module_init (smc_init_module) +module_exit (smc_cleanup_module)
drivers/net/smc-ultra32.c +6 -5
@@ -413,15 +413,14 @@ static void ultra32_block_output(structmemcpy_toio (xfer_start, buf, count); } - -#ifdef MODULE +#define MAX_ULTRA32_CARDS 4/* Max number of Ultra cards per module */ static struct net_device *dev_ultra[MAX_ULTRA32_CARDS ];MODULE_DESCRIPTION ("SMC Ultra32 EISA ethernet driver" );MODULE_LICENSE ("GPL" ); -int init_module (void ) +static int __init ultra32_init_module (void ) {int this_dev, found =0 ;
@@ -437,7 +436,7 @@ int init_module(void)return -ENXIO ; } -void cleanup_module (void ) +static void __exit ultra32_cleanup_module(void) {int this_dev;
@@ -450,5 +449,7 @@ void cleanup_module(void) } } } -#endif /* MODULE */ + +module_init (ultra32_init_module) +module_exit (ultra32_cleanup_module)
drivers/net/sun3lance.c +4 -5
@@ -940,11 +940,9 @@ static void set_multicast_list( struct n } -#ifdef MODULE -static struct net_device *sun3lance_dev; -int init_module (void ) +static int __init lance_init_module (void ) { sun3lance_dev =sun3lance_probe (-1 );if (IS_ERR (sun3lance_dev))
@@ -952,7 +950,7 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit lance_cleanup_module(void) {unregister_netdev (sun3lance_dev);#ifdef CONFIG_SUN3
@@ -961,5 +959,6 @@ void cleanup_module(void)free_netdev (sun3lance_dev); } -#endif /* MODULE */ +module_init (lance_init_module) +module_exit (lance_cleanup_module)
drivers/net/tokenring/proteon.c +7 -8
@@ -352,13 +352,11 @@ static int proteon_open(struct net_devicreturn tms380tr_open (dev); } -#ifdef MODULE -#define ISATR_MAX_ADAPTERS 3 -static int io[ISATR_MAX_ADAPTERS ]; -static int irq[ISATR_MAX_ADAPTERS ]; -static int dma[ISATR_MAX_ADAPTERS ]; +static int io[ISATR_MAX_ADAPTERS ]__initdata ; +static int irq[ISATR_MAX_ADAPTERS ]__initdata ; +static int dma[ISATR_MAX_ADAPTERS ]__initdata ;MODULE_LICENSE ("GPL" );
@@ -368,7 +366,7 @@ module_param_array(dma, int, NULL, 0);static struct net_device *proteon_dev[ISATR_MAX_ADAPTERS ]; -int init_module (void ) +static int __init proteon_init_module (void ) {struct net_device *dev;int i, num =0 , err =0 ;
@@ -399,7 +397,7 @@ int init_module(void)return (0 ); } -void cleanup_module (void ) +static void __exit proteon_cleanup_module(void) {int i;
@@ -417,7 +415,8 @@ void cleanup_module(void)free_netdev (dev); } } -#endif /* MODULE */ +module_init (proteon_init_module) +module_exit (proteon_cleanup_module)/*
drivers/net/tokenring/skisa.c +7 -8
@@ -361,13 +361,11 @@ static int sk_isa_open(struct net_devicereturn tms380tr_open (dev); } -#ifdef MODULE -#define ISATR_MAX_ADAPTERS 3 -static int io[ISATR_MAX_ADAPTERS ]; -static int irq[ISATR_MAX_ADAPTERS ]; -static int dma[ISATR_MAX_ADAPTERS ]; +static int io[ISATR_MAX_ADAPTERS ]__initdata ; +static int irq[ISATR_MAX_ADAPTERS ]__initdata ; +static int dma[ISATR_MAX_ADAPTERS ]__initdata ;MODULE_LICENSE ("GPL" );
@@ -377,7 +375,7 @@ module_param_array(dma, int, NULL, 0);static struct net_device *sk_isa_dev[ISATR_MAX_ADAPTERS ]; -int init_module (void ) +static int __init sk_isa_init_module (void ) {struct net_device *dev;int i, num =0 , err =0 ;
@@ -409,7 +407,7 @@ int init_module(void)return (0 ); } -void cleanup_module (void ) +static void __exit sk_isa_cleanup_module(void) {int i;
@@ -427,8 +425,9 @@ void cleanup_module(void)free_netdev (dev); } } -#endif /* MODULE */ +module_init (sk_isa_init_module) +module_exit (sk_isa_cleanup_module)/* * Local variables:
drivers/net/tokenring/smctr.c +7 -8
@@ -5655,11 +5655,9 @@ static int smctr_wait_while_cbusy(structreturn (HARDWARE_FAILED ); } -#ifdef MODULE -static struct net_device * dev_smctr[SMCTR_MAX_ADAPTERS ]; -static int io[SMCTR_MAX_ADAPTERS ]; -static int irq[SMCTR_MAX_ADAPTERS ]; +static int io[SMCTR_MAX_ADAPTERS ]__initdata ; +static int irq[SMCTR_MAX_ADAPTERS ]__initdata ;MODULE_LICENSE ("GPL" );
@@ -5667,7 +5665,7 @@ module_param_array(io, int, NULL, 0);module_param_array (irq, int,NULL ,0 );module_param (ringspeed, int,0 ); -static struct net_device *setup_card (int n) +static struct net_device *__init setup_card (int n) {struct net_device *dev =alloc_trdev (sizeof (struct net_local ));int err;
@@ -5699,7 +5697,7 @@ out: } -int init_module (void ) +static int __init smctr_init_module (void ) {int i, found =0 ;struct net_device *dev;
@@ -5715,7 +5713,7 @@ int init_module(void)return found ?0 : -ENODEV ; } -void cleanup_module (void ) +static void __exit smctr_cleanup_module(void) {int i;
@@ -5739,4 +5737,5 @@ void cleanup_module(void) } } } -#endif /* MODULE */ +module_init (smctr_init_module) +module_exit (smctr_cleanup_module)
drivers/net/tokenring/tms380tr.c +5 -12
@@ -72,9 +72,7 @@* 5. Still a few remaining stalls when the cable is unplugged. */ -#ifdef MODULE -static const char version[] ="tms380tr.c: v1.10 30/12/2002 by Christoph Goos, Adam Fritzler\n" ; -#endif +static const char version[]__initdata ="tms380tr.c: v1.10 30/12/2002 by Christoph Goos, Adam Fritzler\n" ;#include <linux/module.h> #include <linux/kernel.h>
@@ -2370,8 +2368,6 @@ int tmsdev_init(struct net_device *dev,return 0 ; } -#ifdef MODULE -EXPORT_SYMBOL (tms380tr_open);EXPORT_SYMBOL (tms380tr_close);EXPORT_SYMBOL (tms380tr_interrupt);
@@ -2379,23 +2375,20 @@ EXPORT_SYMBOL(tmsdev_init);EXPORT_SYMBOL (tmsdev_term);EXPORT_SYMBOL (tms380tr_wait); -struct module *TMS380_module =NULL ; - -int init_module (void ) +static int __init tms380_init_module (void ) {printk (KERN_DEBUG "%s" , version); - TMS380_module = &__this_module;return 0 ; } -void cleanup_module (void ) +static void __exit tms380_cleanup_module(void) { - TMS380_module =NULL ; } -#endif MODULE_LICENSE ("GPL" ); +module_init (tms380_init_module) +module_exit (tms380_cleanup_module)/*
drivers/net/wan/hostess_sv11.c +6 -8
@@ -383,10 +383,8 @@ static void sv11_shutdown(struct sv11_dekfree (dev); } -#ifdef MODULE - -static int io=0x200 ; -static int irq=9 ; +static int io__initdata =0x200 ; +static int irq__initdata =9 ;module_param (io, int,0 );MODULE_PARM_DESC (io,"The I/O base of the Comtrol Hostess SV11 card" );
@@ -401,7 +399,7 @@ MODULE_DESCRIPTION("Modular driver for tstatic struct sv11_device *sv11_unit; -int init_module (void ) +static int __init sv11_init_module (void ) {printk (KERN_INFO "SV-11 Z85230 Synchronous Driver v 0.03.\n" );printk (KERN_INFO "(c) Copyright 2001, Red Hat Inc.\n" );
@@ -410,11 +408,11 @@ int init_module(void)return 0 ; } -void cleanup_module (void ) +static void __exit sv11_cleanup_module(void) {if (sv11_unit)sv11_shutdown (sv11_unit); } -#endif - +module_init (sv11_init_module) +module_exit (sv11_cleanup_module)
drivers/net/wireless/arlan-main.c +4 -5
@@ -1839,8 +1839,7 @@ struct net_device * __init arlan_probe(ireturn dev; } -#ifdef MODULE -int init_module (void ) +static int __init arlan_init_module (void ) {int i =0 ;
@@ -1862,7 +1861,7 @@ int init_module(void) } -void cleanup_module (void ) +static void __exit arlan_cleanup_module(void) {int i =0 ;struct net_device *dev;
@@ -1891,6 +1890,6 @@ void cleanup_module(void)ARLAN_DEBUG_EXIT ("cleanup_module" ); } - -#endif MODULE_LICENSE ("GPL" ); +module_init (arlan_init_module) +module_exit (arlan_cleanup_module)
drivers/net/wireless/wavelan.c +4 -4
@@ -4308,13 +4308,12 @@ out:* Module entry point: insertion and removal */ -#ifdef MODULE /*------------------------------------------------------------------*/ /* * Insertion of the module * I'm now quite proud of the multi-device support. */ -int init_module (void ) +static int __init wavelan_init_module (void ) {int ret = -EIO ;/* Return error if no cards found */ int i;
@@ -4378,7 +4377,7 @@ int init_module(void)/* * Removal of the module */ -void cleanup_module (void ) +static void __exit wavelan_cleanup_module(void) {#ifdef DEBUG_MODULE_TRACE printk (KERN_DEBUG "-> cleanup_module()\n" );
@@ -4405,8 +4404,9 @@ void cleanup_module(void)printk (KERN_DEBUG "<- cleanup_module()\n" );#endif } -#endif /* MODULE */ MODULE_LICENSE ("GPL" ); +module_init (wavelan_init_module) +module_exit (wavelan_cleanup_module)/* * This software may only be used and distributed
drivers/net/wireless/wavelan.p.h +3 -5
@@ -699,11 +699,10 @@ static unsigned short iobase[] = 0x390, 0x3E0 }; -#ifdef MODULE /* Parameters set by insmod */ -static int io[4 ]; -static int irq[4 ]; -static char *name[4 ]; +static int io[4 ]__initdata ; +static int irq[4 ]__initdata ; +static char *name[4 ]__initdata ;module_param_array (io, int,NULL ,0 );module_param_array (irq, int,NULL ,0 );module_param_array (name, charp,NULL ,0 );
@@ -711,6 +710,5 @@ module_param_array(name, charp, NULL, 0)MODULE_PARM_DESC (io,"WaveLAN I/O base address(es),required" );MODULE_PARM_DESC (irq,"WaveLAN IRQ number(s)" );MODULE_PARM_DESC (name,"WaveLAN interface neme(s)" ); -#endif /* MODULE */ #endif /* WAVELAN_P_H */
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors
Sorry it took so long for me to reply.
Quoted 6 lines · Reiner Herrmann
Quoted 3 lines · Domen Puncer
Missing "Signed-off-by:";
Patch should probably be split per dir (diffsplit -d) and if some patch touches >1 file of a driver, per driver.In my opinion in this case it is OK, if there is only one patch, because I did only a single logical change to these files.
Still it makes some sense to put wireless, tokenring etc. in different patches. But i'm just nitpicking.
Quoted 14 lines
Quoted 4 lines
Also, diffstat -p1 when patching multiple files is great.
(http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt is a nice
read).Thank you for the hint. I'll use this tool from now on.
Quoted 8 lines
drivers/net/wireless/wavelan.c
Quoted 3 lines
diff -uprN
vanilla-2.6.12-rc5-kj/drivers/net/wireless/wavelan.clinux-2.6.12-rc5-kj/drivers/net/wireless/wavelan.cdrivers/net/wireless/wavelan.c +0
-0This one (and probably some others) won't compile on !MODULE, because it includes
wavelan.p.hwith variables only defined on MODULE.
Quoted 4 lines
Quoted 2 lines
An ugly hack i used to quickly compile test it:
egrep "^--- " ~/netdrivers_module_cleanup.diff | cut -f2 -d' '| cut -f1 | cut -f2- -d'/' | sed 's/.c$/.o/g' | xargs -n1 make 2>&1The appended patch should now be correct.
Doesn't look like, on at least !MODULE:
domen@nd47:~/kernel/a$ wc -l netdrivers_* 399 netdrivers_not_patched 429 netdrivers_patched 828 total domen@nd47:~/kernel/a$ grep error -c netdrivers_* netdrivers_not_patched:113 netdrivers_patched:128
A nice example is tms380tr which compiled cleanly before, but fails now.
_______________________________________________
Kernel-janitors mailing list
[email protected]
http://lists.osdl.org/mailman/listinfo/kernel-janitors