net: fec: adopt pinctrl support
authorShawn Guo <shawn.guo@linaro.org>
Sun, 6 May 2012 12:24:04 +0000 (20:24 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Sat, 12 May 2012 01:42:47 +0000 (09:42 +0800)
Cc: netdev@vger.kernel.org
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Acked-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec.c

index a12b3f5..500c106 100644 (file)
@@ -48,6 +48,7 @@
 #include <linux/of_device.h>
 #include <linux/of_gpio.h>
 #include <linux/of_net.h>
+#include <linux/pinctrl/consumer.h>
 
 #include <asm/cacheflush.h>
 
@@ -1542,6 +1543,7 @@ fec_probe(struct platform_device *pdev)
        struct resource *r;
        const struct of_device_id *of_id;
        static int dev_id;
+       struct pinctrl *pinctrl;
 
        of_id = of_match_device(fec_dt_ids, &pdev->dev);
        if (of_id)
@@ -1609,6 +1611,12 @@ fec_probe(struct platform_device *pdev)
                }
        }
 
+       pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
+       if (IS_ERR(pinctrl)) {
+               ret = PTR_ERR(pinctrl);
+               goto failed_pin;
+       }
+
        fep->clk = clk_get(&pdev->dev, NULL);
        if (IS_ERR(fep->clk)) {
                ret = PTR_ERR(fep->clk);
@@ -1639,6 +1647,7 @@ failed_mii_init:
 failed_init:
        clk_disable_unprepare(fep->clk);
        clk_put(fep->clk);
+failed_pin:
 failed_clk:
        for (i = 0; i < FEC_IRQ_NUM; i++) {
                irq = platform_get_irq(pdev, i);