summaryrefslogtreecommitdiffstats
path: root/patches/linux-3.7/0038-i2c-pinctrl-ify-i2c-omap.c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/linux-3.7/0038-i2c-pinctrl-ify-i2c-omap.c.patch')
-rw-r--r--patches/linux-3.7/0038-i2c-pinctrl-ify-i2c-omap.c.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/patches/linux-3.7/0038-i2c-pinctrl-ify-i2c-omap.c.patch b/patches/linux-3.7/0038-i2c-pinctrl-ify-i2c-omap.c.patch
new file mode 100644
index 0000000..dda67a6
--- /dev/null
+++ b/patches/linux-3.7/0038-i2c-pinctrl-ify-i2c-omap.c.patch
@@ -0,0 +1,45 @@
+From: Pantelis Antoniou <panto@antoniou-consulting.com>
+Date: Fri, 14 Sep 2012 17:51:11 +0300
+Subject: [PATCH] i2c: pinctrl-ify i2c-omap.c
+
+Conflicts:
+ drivers/i2c/busses/i2c-omap.c
+---
+ drivers/i2c/busses/i2c-omap.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
+index 3525c9e..b4952b7 100644
+--- a/drivers/i2c/busses/i2c-omap.c
++++ b/drivers/i2c/busses/i2c-omap.c
+@@ -43,6 +43,8 @@
+ #include <linux/slab.h>
+ #include <linux/i2c-omap.h>
+ #include <linux/pm_runtime.h>
++#include <linux/pinctrl/consumer.h>
++#include <linux/err.h>
+
+ /* I2C controller revisions */
+ #define OMAP_I2C_OMAP1_REV_2 0x20
+@@ -1060,6 +1062,7 @@ omap_i2c_probe(struct platform_device *pdev)
+ const struct of_device_id *match;
+ int irq;
+ int r;
++ struct pinctrl *pinctrl;
+
+ /* NOTE: driver uses the static register mapping */
+ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+@@ -1200,6 +1203,13 @@ omap_i2c_probe(struct platform_device *pdev)
+
+ of_i2c_register_devices(adap);
+
++ pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
++ if (IS_ERR(pinctrl))
++ dev_warn(dev->dev, "unable to select pin group\n");
++
++ dev_info(dev->dev, "bus %d rev%d.%d.%d at %d kHz\n", adap->nr,
++ dev->dtrev, dev->rev >> 4, dev->rev & 0xf, dev->speed);
++
+ pm_runtime_mark_last_busy(dev->dev);
+ pm_runtime_put_autosuspend(dev->dev);
+