Message ID | 1410915594-15599-1-git-send-email-srinivas.kandagatla@linaro.org |
---|---|
State | New |
Headers | show |
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");
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"); > >
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");
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 --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");
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(-)