Message ID | 51A6B7D8.8090600@huawei.com |
---|---|
State | New, archived |
Headers | show |
On Thu, May 30, 2013 at 5:22 AM, Libo Chen <clbchenlibo.chen@huawei.com> wrote: > > convert to module_platform_driver instead of init/exit I give another thought about it. We have to be sure that the flash device will be online when it's really needed. module_init initcall is quite far in the boot process. Is it what we want? > --- a/drivers/mtd/devices/bcm47xxsflash.c > +++ b/drivers/mtd/devices/bcm47xxsflash.c > @@ -108,22 +108,4 @@ static struct platform_driver bcma_sflash_driver = { > * Init > **************************************************/ > > -static int __init bcm47xxsflash_init(void) > -{ > - int err; > - > - err = platform_driver_register(&bcma_sflash_driver); > - if (err) > - pr_err("Failed to register BCMA serial flash driver: %d\n", > - err); > - > - return err; > -} > - > -static void __exit bcm47xxsflash_exit(void) > -{ > - platform_driver_unregister(&bcma_sflash_driver); > -} > - > -module_init(bcm47xxsflash_init); > -module_exit(bcm47xxsflash_exit); > +module_platform_driver(bcma_sflash_driver); > -- > 1.7.1 > > -- With Best Regards, Andy Shevchenko
On 05/30/2013 12:30 PM, Andy Shevchenko wrote: > On Thu, May 30, 2013 at 5:22 AM, Libo Chen <clbchenlibo.chen@huawei.com> wrote: >> >> convert to module_platform_driver instead of init/exit > > I give another thought about it. We have to be sure that the flash > device will be online when it's really needed. > module_init initcall is quite far in the boot process. Is it what we want? This is no problem, the flash driver is needed when the root file system is mounted. The arch code reads the SoC configuration values in its own code in arch/mips/bcm47xx/nvram.c without using the mtd subsystem. These values are needed very early in the boot process. Hauke
diff --git a/drivers/mtd/devices/bcm47xxsflash.c b/drivers/mtd/devices/bcm47xxsflash.c index 2630d5c..54230cd 100644 --- a/drivers/mtd/devices/bcm47xxsflash.c +++ b/drivers/mtd/devices/bcm47xxsflash.c @@ -108,22 +108,4 @@ static struct platform_driver bcma_sflash_driver = { * Init **************************************************/ -static int __init bcm47xxsflash_init(void) -{ - int err; - - err = platform_driver_register(&bcma_sflash_driver); - if (err) - pr_err("Failed to register BCMA serial flash driver: %d\n", - err); - - return err; -} - -static void __exit bcm47xxsflash_exit(void) -{ - platform_driver_unregister(&bcma_sflash_driver); -} - -module_init(bcm47xxsflash_init); -module_exit(bcm47xxsflash_exit); +module_platform_driver(bcma_sflash_driver);
convert to module_platform_driver instead of init/exit Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Libo chen <libo.chen@huawei.com> --- drivers/mtd/devices/bcm47xxsflash.c | 20 +------------------- 1 files changed, 1 insertions(+), 19 deletions(-)