48f65f6
From: Pantelis Antoniou <panto@antoniou-consulting.com>
48f65f6
Date: Sat, 15 Sep 2012 12:00:41 +0300
48f65f6
Subject: [PATCH] pinctrl: pinctrl-single must be initialized early.
48f65f6
48f65f6
When using pinctrl-single to handle i2c initialization, it has
48f65f6
to be done early. Whether this is the best way to do so, is an
48f65f6
exercise left to the reader.
48f65f6
---
48f65f6
 drivers/pinctrl/pinctrl-single.c | 12 +++++++++++-
48f65f6
 1 file changed, 11 insertions(+), 1 deletion(-)
48f65f6
48f65f6
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
48f65f6
index 69e84427f913..f21cf4291476 100644
48f65f6
--- a/drivers/pinctrl/pinctrl-single.c
48f65f6
+++ b/drivers/pinctrl/pinctrl-single.c
48f65f6
@@ -2025,7 +2025,17 @@ static struct platform_driver pcs_driver = {
48f65f6
 #endif
48f65f6
 };
48f65f6
 
48f65f6
-module_platform_driver(pcs_driver);
48f65f6
+static int __init pcs_init(void)
48f65f6
+{
48f65f6
+	return platform_driver_register(&pcs_driver);
48f65f6
+}
48f65f6
+postcore_initcall(pcs_init);
48f65f6
+
48f65f6
+static void __exit pcs_exit(void)
48f65f6
+{
48f65f6
+	platform_driver_unregister(&pcs_driver);
48f65f6
+}
48f65f6
+module_exit(pcs_exit);
48f65f6
 
48f65f6
 MODULE_AUTHOR("Tony Lindgren <tony@atomide.com>");
48f65f6
 MODULE_DESCRIPTION("One-register-per-pin type device tree based pinctrl driver");