OSDN Git Service

i2c: imx: adopt pinctrl support
authorShawn Guo <shawn.guo@linaro.org>
Sun, 6 May 2012 12:27:17 +0000 (20:27 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Sat, 12 May 2012 01:43:10 +0000 (09:43 +0800)
Cc: linux-i2c@vger.kernel.org
Cc: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
drivers/i2c/busses/i2c-imx.c

index dfb84b7..56bce9a 100644 (file)
@@ -51,6 +51,7 @@
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/of_i2c.h>
+#include <linux/pinctrl/consumer.h>
 
 #include <mach/irqs.h>
 #include <mach/hardware.h>
@@ -470,6 +471,7 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
        struct imx_i2c_struct *i2c_imx;
        struct resource *res;
        struct imxi2c_platform_data *pdata = pdev->dev.platform_data;
+       struct pinctrl *pinctrl;
        void __iomem *base;
        resource_size_t res_size;
        int irq, bitrate;
@@ -520,6 +522,12 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
        i2c_imx->base                   = base;
        i2c_imx->res                    = res;
 
+       pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
+       if (IS_ERR(pinctrl)) {
+               ret = PTR_ERR(pinctrl);
+               goto fail3;
+       }
+
        /* Get I2C clock */
        i2c_imx->clk = clk_get(&pdev->dev, "i2c_clk");
        if (IS_ERR(i2c_imx->clk)) {