On 11/28/2011 02:42 AM, Axel Lin wrote: > This patch converts the drivers in drivers/net/can/* to use the > module_platform_driver() macro which makes the code smaller and a bit > simpler. > > Cc: Wolfgang Grandegger > Cc: "David S. Miller" > Cc: Bhupesh Sharma > Cc: Jiri Kosina > Cc: Grant Likely > Cc: Anatolij Gustschin > Cc: Paul Bolle > Cc: Kurt Van Dijck > Cc: Alexey Dobriyan > Signed-off-by: Axel Lin Acked-by: Marc Kleine-Budde > --- > drivers/net/can/at91_can.c | 13 +------------ > drivers/net/can/bfin_can.c | 12 +----------- > drivers/net/can/c_can/c_can_platform.c | 12 +----------- > drivers/net/can/flexcan.c | 15 +-------------- > drivers/net/can/janz-ican3.c | 13 +------------ > drivers/net/can/mscan/mpc5xxx_can.c | 12 +----------- > drivers/net/can/sja1000/sja1000_of_platform.c | 12 +----------- > drivers/net/can/sja1000/sja1000_platform.c | 13 +------------ > drivers/net/can/softing/softing_main.c | 16 ++-------------- > drivers/net/can/ti_hecc.c | 15 +-------------- > 10 files changed, 11 insertions(+), 122 deletions(-) > > diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c > index 044ea06..6ea905c 100644 > --- a/drivers/net/can/at91_can.c > +++ b/drivers/net/can/at91_can.c > @@ -1383,18 +1383,7 @@ static struct platform_driver at91_can_driver = { > .id_table = at91_can_id_table, > }; > > -static int __init at91_can_module_init(void) > -{ > - return platform_driver_register(&at91_can_driver); > -} > - > -static void __exit at91_can_module_exit(void) > -{ > - platform_driver_unregister(&at91_can_driver); > -} > - > -module_init(at91_can_module_init); > -module_exit(at91_can_module_exit); > +module_platform_driver(at91_can_driver); > > MODULE_AUTHOR("Marc Kleine-Budde "); > MODULE_LICENSE("GPL v2"); > diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c > index a1c5abc..349e0fa 100644 > --- a/drivers/net/can/bfin_can.c > +++ b/drivers/net/can/bfin_can.c > @@ -676,17 +676,7 @@ static struct platform_driver bfin_can_driver = { > }, > }; > > -static int __init bfin_can_init(void) > -{ > - return platform_driver_register(&bfin_can_driver); > -} > -module_init(bfin_can_init); > - > -static void __exit bfin_can_exit(void) > -{ > - platform_driver_unregister(&bfin_can_driver); > -} > -module_exit(bfin_can_exit); > +module_platform_driver(bfin_can_driver); > > MODULE_AUTHOR("Barry Song <21cnbao@gmail.com>"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/net/can/c_can/c_can_platform.c b/drivers/net/can/c_can/c_can_platform.c > index 0b5c6f8..5e1a5ff 100644 > --- a/drivers/net/can/c_can/c_can_platform.c > +++ b/drivers/net/can/c_can/c_can_platform.c > @@ -197,17 +197,7 @@ static struct platform_driver c_can_plat_driver = { > .remove = __devexit_p(c_can_plat_remove), > }; > > -static int __init c_can_plat_init(void) > -{ > - return platform_driver_register(&c_can_plat_driver); > -} > -module_init(c_can_plat_init); > - > -static void __exit c_can_plat_exit(void) > -{ > - platform_driver_unregister(&c_can_plat_driver); > -} > -module_exit(c_can_plat_exit); > +module_platform_driver(c_can_plat_driver); > > MODULE_AUTHOR("Bhupesh Sharma "); > MODULE_LICENSE("GPL v2"); > diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c > index e023379..165a4c7 100644 > --- a/drivers/net/can/flexcan.c > +++ b/drivers/net/can/flexcan.c > @@ -1060,20 +1060,7 @@ static struct platform_driver flexcan_driver = { > .remove = __devexit_p(flexcan_remove), > }; > > -static int __init flexcan_init(void) > -{ > - pr_info("%s netdevice driver\n", DRV_NAME); > - return platform_driver_register(&flexcan_driver); > -} > - > -static void __exit flexcan_exit(void) > -{ > - platform_driver_unregister(&flexcan_driver); > - pr_info("%s: driver removed\n", DRV_NAME); > -} > - > -module_init(flexcan_init); > -module_exit(flexcan_exit); > +module_platform_driver(flexcan_driver); > > MODULE_AUTHOR("Sascha Hauer , " > "Marc Kleine-Budde "); > diff --git a/drivers/net/can/janz-ican3.c b/drivers/net/can/janz-ican3.c > index 32778d5..08c893c 100644 > --- a/drivers/net/can/janz-ican3.c > +++ b/drivers/net/can/janz-ican3.c > @@ -1803,20 +1803,9 @@ static struct platform_driver ican3_driver = { > .remove = __devexit_p(ican3_remove), > }; > > -static int __init ican3_init(void) > -{ > - return platform_driver_register(&ican3_driver); > -} > - > -static void __exit ican3_exit(void) > -{ > - platform_driver_unregister(&ican3_driver); > -} > +module_platform_driver(ican3_driver); > > MODULE_AUTHOR("Ira W. Snyder "); > MODULE_DESCRIPTION("Janz MODULbus VMOD-ICAN3 Driver"); > MODULE_LICENSE("GPL"); > MODULE_ALIAS("platform:janz-ican3"); > - > -module_init(ican3_init); > -module_exit(ican3_exit); > diff --git a/drivers/net/can/mscan/mpc5xxx_can.c b/drivers/net/can/mscan/mpc5xxx_can.c > index 5fedc33..5caa572 100644 > --- a/drivers/net/can/mscan/mpc5xxx_can.c > +++ b/drivers/net/can/mscan/mpc5xxx_can.c > @@ -411,17 +411,7 @@ static struct platform_driver mpc5xxx_can_driver = { > #endif > }; > > -static int __init mpc5xxx_can_init(void) > -{ > - return platform_driver_register(&mpc5xxx_can_driver); > -} > -module_init(mpc5xxx_can_init); > - > -static void __exit mpc5xxx_can_exit(void) > -{ > - platform_driver_unregister(&mpc5xxx_can_driver); > -}; > -module_exit(mpc5xxx_can_exit); > +module_platform_driver(mpc5xxx_can_driver); > > MODULE_AUTHOR("Wolfgang Grandegger "); > MODULE_DESCRIPTION("Freescale MPC5xxx CAN driver"); > diff --git a/drivers/net/can/sja1000/sja1000_of_platform.c b/drivers/net/can/sja1000/sja1000_of_platform.c > index c3dd9d0..f2683eb 100644 > --- a/drivers/net/can/sja1000/sja1000_of_platform.c > +++ b/drivers/net/can/sja1000/sja1000_of_platform.c > @@ -220,14 +220,4 @@ static struct platform_driver sja1000_ofp_driver = { > .remove = __devexit_p(sja1000_ofp_remove), > }; > > -static int __init sja1000_ofp_init(void) > -{ > - return platform_driver_register(&sja1000_ofp_driver); > -} > -module_init(sja1000_ofp_init); > - > -static void __exit sja1000_ofp_exit(void) > -{ > - return platform_driver_unregister(&sja1000_ofp_driver); > -}; > -module_exit(sja1000_ofp_exit); > +module_platform_driver(sja1000_ofp_driver); > diff --git a/drivers/net/can/sja1000/sja1000_platform.c b/drivers/net/can/sja1000/sja1000_platform.c > index d9fadc4..4f50145 100644 > --- a/drivers/net/can/sja1000/sja1000_platform.c > +++ b/drivers/net/can/sja1000/sja1000_platform.c > @@ -185,15 +185,4 @@ static struct platform_driver sp_driver = { > }, > }; > > -static int __init sp_init(void) > -{ > - return platform_driver_register(&sp_driver); > -} > - > -static void __exit sp_exit(void) > -{ > - platform_driver_unregister(&sp_driver); > -} > - > -module_init(sp_init); > -module_exit(sp_exit); > +module_platform_driver(sp_driver); > diff --git a/drivers/net/can/softing/softing_main.c b/drivers/net/can/softing/softing_main.c > index 09a8b86..a7c77c7 100644 > --- a/drivers/net/can/softing/softing_main.c > +++ b/drivers/net/can/softing/softing_main.c > @@ -874,21 +874,9 @@ static struct platform_driver softing_driver = { > .remove = __devexit_p(softing_pdev_remove), > }; > > -MODULE_ALIAS("platform:softing"); > - > -static int __init softing_start(void) > -{ > - return platform_driver_register(&softing_driver); > -} > - > -static void __exit softing_stop(void) > -{ > - platform_driver_unregister(&softing_driver); > -} > - > -module_init(softing_start); > -module_exit(softing_stop); > +module_platform_driver(softing_driver); > > +MODULE_ALIAS("platform:softing"); > MODULE_DESCRIPTION("Softing DPRAM CAN driver"); > MODULE_AUTHOR("Kurt Van Dijck "); > MODULE_LICENSE("GPL v2"); > diff --git a/drivers/net/can/ti_hecc.c b/drivers/net/can/ti_hecc.c > index 2adc294..df809e3 100644 > --- a/drivers/net/can/ti_hecc.c > +++ b/drivers/net/can/ti_hecc.c > @@ -1037,20 +1037,7 @@ static struct platform_driver ti_hecc_driver = { > .resume = ti_hecc_resume, > }; > > -static int __init ti_hecc_init_driver(void) > -{ > - printk(KERN_INFO DRV_DESC "\n"); > - return platform_driver_register(&ti_hecc_driver); > -} > - > -static void __exit ti_hecc_exit_driver(void) > -{ > - printk(KERN_INFO DRV_DESC " unloaded\n"); > - platform_driver_unregister(&ti_hecc_driver); > -} > - > -module_exit(ti_hecc_exit_driver); > -module_init(ti_hecc_init_driver); > +module_platform_driver(ti_hecc_driver); > > MODULE_AUTHOR("Anant Gole "); > MODULE_LICENSE("GPL v2"); -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |