Commit 72abb461 authored by Kay Sievers's avatar Kay Sievers Committed by Jeff Garzik

net drivers: fix platform driver hotplug/coldplug

Since 43cc71ee, the platform modalias is
prefixed with "platform:".  Add MODULE_ALIAS() to the hotpluggable network
platform drivers, to re-enable auto loading.

NOTE: didn't change drivers/net/fs_enet/fs_enet-main.c "old binding" support.
That looks problematic in the first place (it even uses the ancient "struct
device_driver" binding scheme for platform_bus!) and I suspect it will vanish
soonish when arch/powerpc rules the world.  Also, drivers/net/ne.c would have
needed more thought to sort out.

[akpm@linux-foundation.org: fix sgiseeq.c]
[dbrownell@users.sourceforge.net: more drivers, registration fixes]
Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Vitaly Bordug <vitb@kernel.crashing.org>
Cc: Dale Farnsworth <dale@farnsworth.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Andrew Victor <andrew@sanpeople.com>
Cc: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent a433686c
...@@ -1246,3 +1246,4 @@ module_exit(at91ether_exit) ...@@ -1246,3 +1246,4 @@ module_exit(at91ether_exit)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver"); MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver");
MODULE_AUTHOR("Andrew Victor"); MODULE_AUTHOR("Andrew Victor");
MODULE_ALIAS("platform:" DRV_NAME);
...@@ -897,6 +897,7 @@ static struct platform_driver ep93xx_eth_driver = { ...@@ -897,6 +897,7 @@ static struct platform_driver ep93xx_eth_driver = {
.remove = ep93xx_eth_remove, .remove = ep93xx_eth_remove,
.driver = { .driver = {
.name = "ep93xx-eth", .name = "ep93xx-eth",
.owner = THIS_MODULE,
}, },
}; };
...@@ -914,3 +915,4 @@ static void __exit ep93xx_eth_cleanup_module(void) ...@@ -914,3 +915,4 @@ static void __exit ep93xx_eth_cleanup_module(void)
module_init(ep93xx_eth_init_module); module_init(ep93xx_eth_init_module);
module_exit(ep93xx_eth_cleanup_module); module_exit(ep93xx_eth_cleanup_module);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:ep93xx-eth");
...@@ -1005,3 +1005,4 @@ module_exit(axdrv_exit); ...@@ -1005,3 +1005,4 @@ module_exit(axdrv_exit);
MODULE_DESCRIPTION("AX88796 10/100 Ethernet platform driver"); MODULE_DESCRIPTION("AX88796 10/100 Ethernet platform driver");
MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>"); MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_ALIAS("platform:ax88796");
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
MODULE_AUTHOR(DRV_AUTHOR); MODULE_AUTHOR(DRV_AUTHOR);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION(DRV_DESC); MODULE_DESCRIPTION(DRV_DESC);
MODULE_ALIAS("platform:bfin_mac");
#if defined(CONFIG_BFIN_MAC_USE_L1) #if defined(CONFIG_BFIN_MAC_USE_L1)
# define bfin_mac_alloc(dma_handle, size) l1_data_sram_zalloc(size) # define bfin_mac_alloc(dma_handle, size) l1_data_sram_zalloc(size)
...@@ -1089,8 +1090,9 @@ static struct platform_driver bfin_mac_driver = { ...@@ -1089,8 +1090,9 @@ static struct platform_driver bfin_mac_driver = {
.resume = bfin_mac_resume, .resume = bfin_mac_resume,
.suspend = bfin_mac_suspend, .suspend = bfin_mac_suspend,
.driver = { .driver = {
.name = DRV_NAME, .name = DRV_NAME,
}, .owner = THIS_MODULE,
},
}; };
static int __init bfin_mac_init(void) static int __init bfin_mac_init(void)
...@@ -1106,3 +1108,4 @@ static void __exit bfin_mac_cleanup(void) ...@@ -1106,3 +1108,4 @@ static void __exit bfin_mac_cleanup(void)
} }
module_exit(bfin_mac_cleanup); module_exit(bfin_mac_cleanup);
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
MODULE_AUTHOR("Eugene Konev <ejka@imfi.kspu.ru>"); MODULE_AUTHOR("Eugene Konev <ejka@imfi.kspu.ru>");
MODULE_DESCRIPTION("TI AR7 ethernet driver (CPMAC)"); MODULE_DESCRIPTION("TI AR7 ethernet driver (CPMAC)");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:cpmac");
static int debug_level = 8; static int debug_level = 8;
static int dumb_switch; static int dumb_switch;
...@@ -1103,6 +1104,7 @@ static int __devexit cpmac_remove(struct platform_device *pdev) ...@@ -1103,6 +1104,7 @@ static int __devexit cpmac_remove(struct platform_device *pdev)
static struct platform_driver cpmac_driver = { static struct platform_driver cpmac_driver = {
.driver.name = "cpmac", .driver.name = "cpmac",
.driver.owner = THIS_MODULE,
.probe = cpmac_probe, .probe = cpmac_probe,
.remove = __devexit_p(cpmac_remove), .remove = __devexit_p(cpmac_remove),
}; };
......
...@@ -1418,3 +1418,4 @@ module_exit(dm9000_cleanup); ...@@ -1418,3 +1418,4 @@ module_exit(dm9000_cleanup);
MODULE_AUTHOR("Sascha Hauer, Ben Dooks"); MODULE_AUTHOR("Sascha Hauer, Ben Dooks");
MODULE_DESCRIPTION("Davicom DM9000 network driver"); MODULE_DESCRIPTION("Davicom DM9000 network driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:dm9000");
...@@ -2001,12 +2001,16 @@ static irqreturn_t gfar_error(int irq, void *dev_id) ...@@ -2001,12 +2001,16 @@ static irqreturn_t gfar_error(int irq, void *dev_id)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
/* work with hotplug and coldplug */
MODULE_ALIAS("platform:fsl-gianfar");
/* Structure for a device driver */ /* Structure for a device driver */
static struct platform_driver gfar_driver = { static struct platform_driver gfar_driver = {
.probe = gfar_probe, .probe = gfar_probe,
.remove = gfar_remove, .remove = gfar_remove,
.driver = { .driver = {
.name = "fsl-gianfar", .name = "fsl-gianfar",
.owner = THIS_MODULE,
}, },
}; };
......
...@@ -60,6 +60,7 @@ static struct platform_driver ali_ircc_driver = { ...@@ -60,6 +60,7 @@ static struct platform_driver ali_ircc_driver = {
.resume = ali_ircc_resume, .resume = ali_ircc_resume,
.driver = { .driver = {
.name = ALI_IRCC_DRIVER_NAME, .name = ALI_IRCC_DRIVER_NAME,
.owner = THIS_MODULE,
}, },
}; };
...@@ -2256,6 +2257,7 @@ static void FIR2SIR(int iobase) ...@@ -2256,6 +2257,7 @@ static void FIR2SIR(int iobase)
MODULE_AUTHOR("Benjamin Kong <benjamin_kong@ali.com.tw>"); MODULE_AUTHOR("Benjamin Kong <benjamin_kong@ali.com.tw>");
MODULE_DESCRIPTION("ALi FIR Controller Driver"); MODULE_DESCRIPTION("ALi FIR Controller Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:" ALI_IRCC_DRIVER_NAME);
module_param_array(io, int, NULL, 0); module_param_array(io, int, NULL, 0);
......
...@@ -897,6 +897,7 @@ static int pxa_irda_remove(struct platform_device *_dev) ...@@ -897,6 +897,7 @@ static int pxa_irda_remove(struct platform_device *_dev)
static struct platform_driver pxa_ir_driver = { static struct platform_driver pxa_ir_driver = {
.driver = { .driver = {
.name = "pxa2xx-ir", .name = "pxa2xx-ir",
.owner = THIS_MODULE,
}, },
.probe = pxa_irda_probe, .probe = pxa_irda_probe,
.remove = pxa_irda_remove, .remove = pxa_irda_remove,
...@@ -918,3 +919,4 @@ module_init(pxa_irda_init); ...@@ -918,3 +919,4 @@ module_init(pxa_irda_init);
module_exit(pxa_irda_exit); module_exit(pxa_irda_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:pxa2xx-ir");
...@@ -1008,6 +1008,7 @@ static struct platform_driver sa1100ir_driver = { ...@@ -1008,6 +1008,7 @@ static struct platform_driver sa1100ir_driver = {
.resume = sa1100_irda_resume, .resume = sa1100_irda_resume,
.driver = { .driver = {
.name = "sa11x0-ir", .name = "sa11x0-ir",
.owner = THIS_MODULE,
}, },
}; };
...@@ -1041,3 +1042,4 @@ MODULE_LICENSE("GPL"); ...@@ -1041,3 +1042,4 @@ MODULE_LICENSE("GPL");
MODULE_PARM_DESC(power_level, "IrDA power level, 1 (low) to 3 (high)"); MODULE_PARM_DESC(power_level, "IrDA power level, 1 (low) to 3 (high)");
MODULE_PARM_DESC(tx_lpm, "Enable transmitter low power (1.6us) mode"); MODULE_PARM_DESC(tx_lpm, "Enable transmitter low power (1.6us) mode");
MODULE_PARM_DESC(max_rate, "Maximum baud rate (4000000, 115200, 57600, 38400, 19200, 9600)"); MODULE_PARM_DESC(max_rate, "Maximum baud rate (4000000, 115200, 57600, 38400, 19200, 9600)");
MODULE_ALIAS("platform:sa11x0-ir");
...@@ -249,6 +249,7 @@ static int __init jazz_sonic_probe(struct platform_device *pdev) ...@@ -249,6 +249,7 @@ static int __init jazz_sonic_probe(struct platform_device *pdev)
MODULE_DESCRIPTION("Jazz SONIC ethernet driver"); MODULE_DESCRIPTION("Jazz SONIC ethernet driver");
module_param(sonic_debug, int, 0); module_param(sonic_debug, int, 0);
MODULE_PARM_DESC(sonic_debug, "jazzsonic debug level (1-4)"); MODULE_PARM_DESC(sonic_debug, "jazzsonic debug level (1-4)");
MODULE_ALIAS("platform:jazzsonic");
#include "sonic.c" #include "sonic.c"
...@@ -271,6 +272,7 @@ static struct platform_driver jazz_sonic_driver = { ...@@ -271,6 +272,7 @@ static struct platform_driver jazz_sonic_driver = {
.remove = __devexit_p(jazz_sonic_device_remove), .remove = __devexit_p(jazz_sonic_device_remove),
.driver = { .driver = {
.name = jazz_sonic_string, .name = jazz_sonic_string,
.owner = THIS_MODULE,
}, },
}; };
......
...@@ -1281,6 +1281,7 @@ static struct platform_driver macb_driver = { ...@@ -1281,6 +1281,7 @@ static struct platform_driver macb_driver = {
.remove = __exit_p(macb_remove), .remove = __exit_p(macb_remove),
.driver = { .driver = {
.name = "macb", .name = "macb",
.owner = THIS_MODULE,
}, },
}; };
...@@ -1300,3 +1301,4 @@ module_exit(macb_exit); ...@@ -1300,3 +1301,4 @@ module_exit(macb_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Atmel MACB Ethernet driver"); MODULE_DESCRIPTION("Atmel MACB Ethernet driver");
MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>"); MODULE_AUTHOR("Haavard Skinnemoen <hskinnemoen@atmel.com>");
MODULE_ALIAS("platform:macb");
...@@ -830,6 +830,7 @@ static struct platform_driver meth_driver = { ...@@ -830,6 +830,7 @@ static struct platform_driver meth_driver = {
.remove = __devexit_p(meth_remove), .remove = __devexit_p(meth_remove),
.driver = { .driver = {
.name = "meth", .name = "meth",
.owner = THIS_MODULE,
} }
}; };
...@@ -855,3 +856,4 @@ module_exit(meth_exit_module); ...@@ -855,3 +856,4 @@ module_exit(meth_exit_module);
MODULE_AUTHOR("Ilya Volynets <ilya@theIlya.com>"); MODULE_AUTHOR("Ilya Volynets <ilya@theIlya.com>");
MODULE_DESCRIPTION("SGI O2 Builtin Fast Ethernet driver"); MODULE_DESCRIPTION("SGI O2 Builtin Fast Ethernet driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:meth");
...@@ -2030,6 +2030,7 @@ static struct platform_driver mv643xx_eth_driver = { ...@@ -2030,6 +2030,7 @@ static struct platform_driver mv643xx_eth_driver = {
.shutdown = mv643xx_eth_shutdown, .shutdown = mv643xx_eth_shutdown,
.driver = { .driver = {
.name = MV643XX_ETH_NAME, .name = MV643XX_ETH_NAME,
.owner = THIS_MODULE,
}, },
}; };
...@@ -2038,6 +2039,7 @@ static struct platform_driver mv643xx_eth_shared_driver = { ...@@ -2038,6 +2039,7 @@ static struct platform_driver mv643xx_eth_shared_driver = {
.remove = mv643xx_eth_shared_remove, .remove = mv643xx_eth_shared_remove,
.driver = { .driver = {
.name = MV643XX_ETH_SHARED_NAME, .name = MV643XX_ETH_SHARED_NAME,
.owner = THIS_MODULE,
}, },
}; };
...@@ -2085,7 +2087,8 @@ MODULE_LICENSE("GPL"); ...@@ -2085,7 +2087,8 @@ MODULE_LICENSE("GPL");
MODULE_AUTHOR( "Rabeeh Khoury, Assaf Hoffman, Matthew Dharm, Manish Lachwani" MODULE_AUTHOR( "Rabeeh Khoury, Assaf Hoffman, Matthew Dharm, Manish Lachwani"
" and Dale Farnsworth"); " and Dale Farnsworth");
MODULE_DESCRIPTION("Ethernet driver for Marvell MV643XX"); MODULE_DESCRIPTION("Ethernet driver for Marvell MV643XX");
MODULE_ALIAS("platform:mv643xx_eth"); MODULE_ALIAS("platform:" MV643XX_ETH_NAME);
MODULE_ALIAS("platform:" MV643XX_ETH_SHARED_NAME);
/* /*
* The second part is the low level driver of the gigE ethernet ports. * The second part is the low level driver of the gigE ethernet ports.
......
...@@ -502,4 +502,4 @@ module_exit(netx_eth_cleanup); ...@@ -502,4 +502,4 @@ module_exit(netx_eth_cleanup);
MODULE_AUTHOR("Sascha Hauer, Pengutronix"); MODULE_AUTHOR("Sascha Hauer, Pengutronix");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:" CARDNAME);
...@@ -825,7 +825,8 @@ static struct platform_driver sgiseeq_driver = { ...@@ -825,7 +825,8 @@ static struct platform_driver sgiseeq_driver = {
.probe = sgiseeq_probe, .probe = sgiseeq_probe,
.remove = __devexit_p(sgiseeq_remove), .remove = __devexit_p(sgiseeq_remove),
.driver = { .driver = {
.name = "sgiseeq" .name = "sgiseeq",
.owner = THIS_MODULE,
} }
}; };
...@@ -850,3 +851,4 @@ module_exit(sgiseeq_module_exit); ...@@ -850,3 +851,4 @@ module_exit(sgiseeq_module_exit);
MODULE_DESCRIPTION("SGI Seeq 8003 driver"); MODULE_DESCRIPTION("SGI Seeq 8003 driver");
MODULE_AUTHOR("Linux/MIPS Mailing List <linux-mips@linux-mips.org>"); MODULE_AUTHOR("Linux/MIPS Mailing List <linux-mips@linux-mips.org>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:sgiseeq");
...@@ -92,6 +92,7 @@ module_param(tx_fifo_kb, int, 0400); ...@@ -92,6 +92,7 @@ module_param(tx_fifo_kb, int, 0400);
MODULE_PARM_DESC(tx_fifo_kb,"transmit FIFO size in KB (1<x<15)(default=8)"); MODULE_PARM_DESC(tx_fifo_kb,"transmit FIFO size in KB (1<x<15)(default=8)");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:smc911x");
/* /*
* The internal workings of the driver. If you are changing anything * The internal workings of the driver. If you are changing anything
...@@ -2262,6 +2263,7 @@ static struct platform_driver smc911x_driver = { ...@@ -2262,6 +2263,7 @@ static struct platform_driver smc911x_driver = {
.resume = smc911x_drv_resume, .resume = smc911x_drv_resume,
.driver = { .driver = {
.name = CARDNAME, .name = CARDNAME,
.owner = THIS_MODULE,
}, },
}; };
......
...@@ -132,6 +132,7 @@ module_param(watchdog, int, 0400); ...@@ -132,6 +132,7 @@ module_param(watchdog, int, 0400);
MODULE_PARM_DESC(watchdog, "transmit timeout in milliseconds"); MODULE_PARM_DESC(watchdog, "transmit timeout in milliseconds");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:smc91x");
/* /*
* The internal workings of the driver. If you are changing anything * The internal workings of the driver. If you are changing anything
...@@ -2308,6 +2309,7 @@ static struct platform_driver smc_driver = { ...@@ -2308,6 +2309,7 @@ static struct platform_driver smc_driver = {
.resume = smc_drv_resume, .resume = smc_drv_resume,
.driver = { .driver = {
.name = CARDNAME, .name = CARDNAME,
.owner = THIS_MODULE,
}, },
}; };
......
...@@ -44,6 +44,7 @@ static const char sni_82596_string[] = "snirm_82596"; ...@@ -44,6 +44,7 @@ static const char sni_82596_string[] = "snirm_82596";
MODULE_AUTHOR("Thomas Bogendoerfer"); MODULE_AUTHOR("Thomas Bogendoerfer");
MODULE_DESCRIPTION("i82596 driver"); MODULE_DESCRIPTION("i82596 driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:snirm_82596");
module_param(i596_debug, int, 0); module_param(i596_debug, int, 0);
MODULE_PARM_DESC(i596_debug, "82596 debug mask"); MODULE_PARM_DESC(i596_debug, "82596 debug mask");
...@@ -166,6 +167,7 @@ static struct platform_driver sni_82596_driver = { ...@@ -166,6 +167,7 @@ static struct platform_driver sni_82596_driver = {
.remove = __devexit_p(sni_82596_driver_remove), .remove = __devexit_p(sni_82596_driver_remove),
.driver = { .driver = {
.name = sni_82596_string, .name = sni_82596_string,
.owner = THIS_MODULE,
}, },
}; };
......
...@@ -162,6 +162,7 @@ static struct platform_driver tsi_eth_driver = { ...@@ -162,6 +162,7 @@ static struct platform_driver tsi_eth_driver = {
.remove = tsi108_ether_remove, .remove = tsi108_ether_remove,
.driver = { .driver = {
.name = "tsi-ethernet", .name = "tsi-ethernet",
.owner = THIS_MODULE,
}, },
}; };
...@@ -1729,3 +1730,4 @@ module_exit(tsi108_ether_exit); ...@@ -1729,3 +1730,4 @@ module_exit(tsi108_ether_exit);
MODULE_AUTHOR("Tundra Semiconductor Corporation"); MODULE_AUTHOR("Tundra Semiconductor Corporation");
MODULE_DESCRIPTION("Tsi108 Gigabit Ethernet driver"); MODULE_DESCRIPTION("Tsi108 Gigabit Ethernet driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:tsi-ethernet");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment