2009-06-15 13:03:16

by Mike Rapoport

[permalink] [raw]
Subject: [PATCH] mfd/da903x: initialize PMIC core early

Samuel,
It'd be great if this can go to 2.6.31

Signed-off-by: Mike Rapoport <[email protected]>
---
drivers/mfd/da903x.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mfd/da903x.c b/drivers/mfd/da903x.c
index 7283d88..e5ffe56 100644
--- a/drivers/mfd/da903x.c
+++ b/drivers/mfd/da903x.c
@@ -561,7 +561,7 @@ static int __init da903x_init(void)
{
return i2c_add_driver(&da903x_driver);
}
-module_init(da903x_init);
+subsys_initcall(da903x_init);

static void __exit da903x_exit(void)
{
--
1.6.0.6


--
Sincerely yours,
Mike.


2009-06-15 13:49:20

by Samuel Ortiz

[permalink] [raw]
Subject: Re: [PATCH] mfd/da903x: initialize PMIC core early

Hi Mike,

On Mon, Jun 15, 2009 at 03:02:09PM +0300, Mike Rapoport wrote:
> Samuel,
> It'd be great if this can go to 2.6.31
Sure. Care to explain why this needs to be called earlier ?

Cheers,
Samuel.

> Signed-off-by: Mike Rapoport <[email protected]>
> ---
> drivers/mfd/da903x.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mfd/da903x.c b/drivers/mfd/da903x.c
> index 7283d88..e5ffe56 100644
> --- a/drivers/mfd/da903x.c
> +++ b/drivers/mfd/da903x.c
> @@ -561,7 +561,7 @@ static int __init da903x_init(void)
> {
> return i2c_add_driver(&da903x_driver);
> }
> -module_init(da903x_init);
> +subsys_initcall(da903x_init);
>
> static void __exit da903x_exit(void)
> {
> --
> 1.6.0.6
>
>
> --
> Sincerely yours,
> Mike.
>

--
Intel Open Source Technology Centre
http://oss.intel.com/

2009-06-15 14:08:46

by Mike Rapoport

[permalink] [raw]
Subject: Re: [PATCH] mfd/da903x: initialize PMIC core early



Samuel Ortiz wrote:
> Hi Mike,
>
> On Mon, Jun 15, 2009 at 03:02:09PM +0300, Mike Rapoport wrote:
>> Samuel,
>> It'd be great if this can go to 2.6.31
> Sure. Care to explain why this needs to be called earlier ?

We want to have da903x regulators available early during boot, and since they
are subdevices of mfd/da903x they cannot be enabled until the da903x core is
initialized.
I just saw Liam Girdwood pull request with "regulator: Move regulator drivers to
subsys_initcall()" commit and jumped in :)


> Cheers,
> Samuel.
>
>> Signed-off-by: Mike Rapoport <[email protected]>
>> ---
>> drivers/mfd/da903x.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/mfd/da903x.c b/drivers/mfd/da903x.c
>> index 7283d88..e5ffe56 100644
>> --- a/drivers/mfd/da903x.c
>> +++ b/drivers/mfd/da903x.c
>> @@ -561,7 +561,7 @@ static int __init da903x_init(void)
>> {
>> return i2c_add_driver(&da903x_driver);
>> }
>> -module_init(da903x_init);
>> +subsys_initcall(da903x_init);
>>
>> static void __exit da903x_exit(void)
>> {
>> --
>> 1.6.0.6
>>
>>
>> --
>> Sincerely yours,
>> Mike.
>>
>

--
Sincerely yours,
Mike.

2009-06-15 14:34:30

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] mfd/da903x: initialize PMIC core early

On Mon, Jun 15, 2009 at 05:08:28PM +0300, Mike Rapoport wrote:
> Samuel Ortiz wrote:

> > Sure. Care to explain why this needs to be called earlier ?

> We want to have da903x regulators available early during boot, and since they
> are subdevices of mfd/da903x they cannot be enabled until the da903x core is
> initialized.
> I just saw Liam Girdwood pull request with "regulator: Move regulator drivers to
> subsys_initcall()" commit and jumped in :)

Any MFD core with regulators on it ought to be pulled forward to
subsys_initcall(). Doing this makes it easier to get a sensible
ordering during boot without having a song and dance in consumer
drivers waiting for the regulators that supply them to instantiate.

2009-06-15 14:42:39

by Samuel Ortiz

[permalink] [raw]
Subject: Re: [PATCH] mfd/da903x: initialize PMIC core early

On Mon, Jun 15, 2009 at 03:34:11PM +0100, Mark Brown wrote:
> On Mon, Jun 15, 2009 at 05:08:28PM +0300, Mike Rapoport wrote:
> > Samuel Ortiz wrote:
>
> > > Sure. Care to explain why this needs to be called earlier ?
>
> > We want to have da903x regulators available early during boot, and since they
> > are subdevices of mfd/da903x they cannot be enabled until the da903x core is
> > initialized.
> > I just saw Liam Girdwood pull request with "regulator: Move regulator drivers to
> > subsys_initcall()" commit and jumped in :)
>
> Any MFD core with regulators on it ought to be pulled forward to
> subsys_initcall(). Doing this makes it easier to get a sensible
> ordering during boot without having a song and dance in consumer
> drivers waiting for the regulators that supply them to instantiate.
Yep, I'm preparing a patch for that.

Cheers,
Samuel.

--
Intel Open Source Technology Centre
http://oss.intel.com/