summaryrefslogtreecommitdiffstats
path: root/pinctrl-pinctrl-single-must-be-initialized-early.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pinctrl-pinctrl-single-must-be-initialized-early.patch')
-rw-r--r--pinctrl-pinctrl-single-must-be-initialized-early.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/pinctrl-pinctrl-single-must-be-initialized-early.patch b/pinctrl-pinctrl-single-must-be-initialized-early.patch
new file mode 100644
index 000000000..39caec4c4
--- /dev/null
+++ b/pinctrl-pinctrl-single-must-be-initialized-early.patch
@@ -0,0 +1,38 @@
+From 8946fa3addc278d256c2f687381be65d3ad3a7b1 Mon Sep 17 00:00:00 2001
+From: Pantelis Antoniou <panto@antoniou-consulting.com>
+Date: Sat, 15 Sep 2012 12:00:41 +0300
+Subject: [PATCH] pinctrl: pinctrl-single must be initialized early.
+
+When using pinctrl-single to handle i2c initialization, it has
+to be done early. Whether this is the best way to do so, is an
+exercise left to the reader.
+---
+ drivers/pinctrl/pinctrl-single.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
+index 95dd9cf55cb3..800fc34d7ea9 100644
+--- a/drivers/pinctrl/pinctrl-single.c
++++ b/drivers/pinctrl/pinctrl-single.c
+@@ -2012,7 +2012,17 @@ static struct platform_driver pcs_driver = {
+ #endif
+ };
+
+-module_platform_driver(pcs_driver);
++static int __init pcs_init(void)
++{
++ return platform_driver_register(&pcs_driver);
++}
++postcore_initcall(pcs_init);
++
++static void __exit pcs_exit(void)
++{
++ platform_driver_unregister(&pcs_driver);
++}
++module_exit(pcs_exit);
+
+ MODULE_AUTHOR("Tony Lindgren <tony@atomide.com>");
+ MODULE_DESCRIPTION("One-register-per-pin type device tree based pinctrl driver");
+--
+1.9.3
+