2013-05-30 02:24:52

by Libo Chen

[permalink] [raw]
Subject: [PATCH RESEND 2/2] mtd: bcm47: convert to module_platform_driver instead of init/exit


convert to module_platform_driver instead of init/exit

Suggested-by: Andy Shevchenko <[email protected]>
Signed-off-by: Libo chen <[email protected]>
---
drivers/mtd/devices/bcm47xxsflash.c | 20 +-------------------
1 files changed, 1 insertions(+), 19 deletions(-)

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);
--
1.7.1


2013-05-30 10:31:08

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH RESEND 2/2] mtd: bcm47: convert to module_platform_driver instead of init/exit

On Thu, May 30, 2013 at 5:22 AM, Libo Chen <[email protected]> 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

2013-05-30 10:55:53

by Hauke Mehrtens

[permalink] [raw]
Subject: Re: [PATCH RESEND 2/2] mtd: bcm47: convert to module_platform_driver instead of init/exit

On 05/30/2013 12:30 PM, Andy Shevchenko wrote:
> On Thu, May 30, 2013 at 5:22 AM, Libo Chen <[email protected]> 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