Re: [PATCH] mfd: ssbi: promote the driver to subsys level

From: Srinivas Kandagatla
Date: Wed Sep 17 2014 - 18:34:28 EST




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@xxxxxxxxxx> 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@xxxxxxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/