diff mbox

mfd: ssbi: promote the driver to subsys level

Message ID 1410915594-15599-1-git-send-email-srinivas.kandagatla@linaro.org
State New
Headers show

Commit Message

Srinivas Kandagatla Sept. 17, 2014, 12:59 a.m. UTC
This patch promtes the driver to be at subsystem level as this driver
will be used by gpio controller drivers which inturn are used by many
platform drivers.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 drivers/mfd/ssbi.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Lee Jones Sept. 17, 2014, 4:03 p.m. UTC | #1
On Wed, 17 Sep 2014, Srinivas Kandagatla wrote:

> This patch promtes the driver to be at subsystem level as this driver
> will be used by gpio controller drivers which inturn are used by many
> platform drivers.

Any reason why you're not using -EPROBE?

> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> ---
>  drivers/mfd/ssbi.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mfd/ssbi.c b/drivers/mfd/ssbi.c
> index b78942e..4fbe02e 100644
> --- a/drivers/mfd/ssbi.c
> +++ b/drivers/mfd/ssbi.c
> @@ -331,7 +331,12 @@ static struct platform_driver ssbi_driver = {
>  		.of_match_table = ssbi_match_table,
>  	},
>  };
> -module_platform_driver(ssbi_driver);
> +
> +static int ssbi_init(void)
> +{
> +	return platform_driver_register(&ssbi_driver);
> +}
> +subsys_initcall(ssbi_init);
>  
>  MODULE_LICENSE("GPL v2");
>  MODULE_VERSION("1.0");
Lee Jones Sept. 17, 2014, 4:49 p.m. UTC | #2
On Wed, 17 Sep 2014, Srinivas Kandagatla wrote:

> On 17 Sep 2014 09:03, "Lee Jones" <lee.jones@linaro.org> wrote:
> >
> > On Wed, 17 Sep 2014, Srinivas Kandagatla wrote:
> >
> > > This patch promtes the driver to be at subsystem level as this driver
> > > will be used by gpio controller drivers which inturn are used by many
> > > platform drivers.
> >
> > Any reason why you're not using -EPROBE?
> >
> EPROBE is possible but it's going to add few more cycles to boot time.
> 
> As this driver is a very basic driver on which other drivers depend
> ensuring the sequence would improve the boot time.

We only tend to promote drivers' init level as a last resort.  If
-EPROBE_DEFER is possible, please use that instead.

> > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> > > ---
> > >  drivers/mfd/ssbi.c | 7 ++++++-
> > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/mfd/ssbi.c b/drivers/mfd/ssbi.c
> > > index b78942e..4fbe02e 100644
> > > --- a/drivers/mfd/ssbi.c
> > > +++ b/drivers/mfd/ssbi.c
> > > @@ -331,7 +331,12 @@ static struct platform_driver ssbi_driver = {
> > >               .of_match_table = ssbi_match_table,
> > >       },
> > >  };
> > > -module_platform_driver(ssbi_driver);
> > > +
> > > +static int ssbi_init(void)
> > > +{
> > > +     return platform_driver_register(&ssbi_driver);
> > > +}
> > > +subsys_initcall(ssbi_init);
> > >
> > >  MODULE_LICENSE("GPL v2");
> > >  MODULE_VERSION("1.0");
> >
Lee Jones Sept. 17, 2014, 10:25 p.m. UTC | #3
On Wed, 17 Sep 2014, Lee Jones wrote:

> On Wed, 17 Sep 2014, Srinivas Kandagatla wrote:
> 
> > On 17 Sep 2014 09:03, "Lee Jones" <lee.jones@linaro.org> wrote:
> > >
> > > On Wed, 17 Sep 2014, Srinivas Kandagatla wrote:
> > >
> > > > This patch promtes the driver to be at subsystem level as this driver
> > > > will be used by gpio controller drivers which inturn are used by many
> > > > platform drivers.
> > >
> > > Any reason why you're not using -EPROBE?
> > >
> > EPROBE is possible but it's going to add few more cycles to boot time.
> > 
> > As this driver is a very basic driver on which other drivers depend
> > ensuring the sequence would improve the boot time.
> 
> We only tend to promote drivers' init level as a last resort.  If
> -EPROBE_DEFER is possible, please use that instead.

To conclude for any casual/interested observers; I'd be willing to
accept the patch if you can provide some metrics that prove boot-time
is sufficiently increased as a result of using -EPROBE_DEFER.

> > > > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
> > > > ---
> > > >  drivers/mfd/ssbi.c | 7 ++++++-
> > > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/mfd/ssbi.c b/drivers/mfd/ssbi.c
> > > > index b78942e..4fbe02e 100644
> > > > --- a/drivers/mfd/ssbi.c
> > > > +++ b/drivers/mfd/ssbi.c
> > > > @@ -331,7 +331,12 @@ static struct platform_driver ssbi_driver = {
> > > >               .of_match_table = ssbi_match_table,
> > > >       },
> > > >  };
> > > > -module_platform_driver(ssbi_driver);
> > > > +
> > > > +static int ssbi_init(void)
> > > > +{
> > > > +     return platform_driver_register(&ssbi_driver);
> > > > +}
> > > > +subsys_initcall(ssbi_init);

Also, as a nasty side-effect of this patch, this module will no longer
be unloadable, which is probably not what you want.

> > > >  MODULE_LICENSE("GPL v2");
> > > >  MODULE_VERSION("1.0");
Srinivas Kandagatla Sept. 17, 2014, 10:34 p.m. UTC | #4
On 17/09/14 23:25, Lee Jones wrote:
> On Wed, 17 Sep 2014, Lee Jones wrote:
>
>> On Wed, 17 Sep 2014, Srinivas Kandagatla wrote:
>>
>>> On 17 Sep 2014 09:03, "Lee Jones" <lee.jones@linaro.org> wrote:
>>>>
>>>> On Wed, 17 Sep 2014, Srinivas Kandagatla wrote:
>>>>
>>>>> This patch promtes the driver to be at subsystem level as this driver
>>>>> will be used by gpio controller drivers which inturn are used by many
>>>>> platform drivers.
>>>>
>>>> Any reason why you're not using -EPROBE?
>>>>
>>> EPROBE is possible but it's going to add few more cycles to boot time.
>>>
>>> As this driver is a very basic driver on which other drivers depend
>>> ensuring the sequence would improve the boot time.
>>
>> We only tend to promote drivers' init level as a last resort.  If
>> -EPROBE_DEFER is possible, please use that instead.
>
> To conclude for any casual/interested observers; I'd be willing to
> accept the patch if you can provide some metrics that prove boot-time
> is sufficiently increased as a result of using -EPROBE_DEFER.

That's fair enough I will get the details..

>
>>>>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>>>>> ---
>>>>>   drivers/mfd/ssbi.c | 7 ++++++-
>>>>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/mfd/ssbi.c b/drivers/mfd/ssbi.c
>>>>> index b78942e..4fbe02e 100644
>>>>> --- a/drivers/mfd/ssbi.c
>>>>> +++ b/drivers/mfd/ssbi.c
>>>>> @@ -331,7 +331,12 @@ static struct platform_driver ssbi_driver = {
>>>>>                .of_match_table = ssbi_match_table,
>>>>>        },
>>>>>   };
>>>>> -module_platform_driver(ssbi_driver);
>>>>> +
>>>>> +static int ssbi_init(void)
>>>>> +{
>>>>> +     return platform_driver_register(&ssbi_driver);
>>>>> +}
>>>>> +subsys_initcall(ssbi_init);
>
> Also, as a nasty side-effect of this patch, this module will no longer
> be unloadable, which is probably not what you want.
>
>>>>>   MODULE_LICENSE("GPL v2");
>>>>>   MODULE_VERSION("1.0");
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
diff mbox

Patch

diff --git a/drivers/mfd/ssbi.c b/drivers/mfd/ssbi.c
index b78942e..4fbe02e 100644
--- a/drivers/mfd/ssbi.c
+++ b/drivers/mfd/ssbi.c
@@ -331,7 +331,12 @@  static struct platform_driver ssbi_driver = {
 		.of_match_table = ssbi_match_table,
 	},
 };
-module_platform_driver(ssbi_driver);
+
+static int ssbi_init(void)
+{
+	return platform_driver_register(&ssbi_driver);
+}
+subsys_initcall(ssbi_init);
 
 MODULE_LICENSE("GPL v2");
 MODULE_VERSION("1.0");