aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/freescale
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-22 12:39:42 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-22 12:39:42 -0400
commit813a95e5b4fa936bbde10ef89188932745dcd7f4 (patch)
tree571ca345861ffb89b45fabe26fcab4e133c8537b /drivers/net/ethernet/freescale
parent9f639269ed1522c7d69c54cc8b80ab8ee53fcb10 (diff)
parentf3f08dcb9965f42378851ce888fb7539607712e6 (diff)
Merge tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull arm soc-specific pinctrl changes from Olof Johansson: "With this, five platforms are moving to the relatively new pinctrl subsystem for their pin management, replacing the older soc specific in-kernel interfaces with common code. There is quite a bit of net addition of code for each platform being added to the pinctrl subsystem. But the payback comes later when adding new boards can be done by only providing new device trees instead." Fix up trivial conflicts in arch/arm/mach-ux500/{Makefile,board-mop500.c} * tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits) mtd: nand: gpmi: fix compile error caused by pinctrl call ARM: PRIMA2: select PINCTRL and PINCTRL_SIRF in Kconfig ARM: nomadik: enable PINCTRL_NOMADIK where needed ARM: mxs: enable pinctrl support video: mxsfb: adopt pinctrl support ASoC: mxs-saif: adopt pinctrl support i2c: mxs: adopt pinctrl support mtd: nand: gpmi: adopt pinctrl support mmc: mxs-mmc: adopt pinctrl support serial: mxs-auart: adopt pinctrl support serial: amba-pl011: adopt pinctrl support spi/imx: adopt pinctrl support i2c: imx: adopt pinctrl support can: flexcan: adopt pinctrl support net: fec: adopt pinctrl support ARM: ux500: switch MSP to using pinctrl for pins ARM: ux500: alter MSP registration to return a device pointer ARM: ux500: switch to using pinctrl for uart0 ARM: ux500: delete custom pin control system ARM: ux500: switch over to Nomadik pinctrl driver ...
Diffstat (limited to 'drivers/net/ethernet/freescale')
-rw-r--r--drivers/net/ethernet/freescale/fec.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c
index 7fa0227c9c02..8f2cf8c09e2d 100644
--- a/drivers/net/ethernet/freescale/fec.c
+++ b/drivers/net/ethernet/freescale/fec.c
@@ -48,6 +48,7 @@
48#include <linux/of_device.h> 48#include <linux/of_device.h>
49#include <linux/of_gpio.h> 49#include <linux/of_gpio.h>
50#include <linux/of_net.h> 50#include <linux/of_net.h>
51#include <linux/pinctrl/consumer.h>
51 52
52#include <asm/cacheflush.h> 53#include <asm/cacheflush.h>
53 54
@@ -1543,6 +1544,7 @@ fec_probe(struct platform_device *pdev)
1543 struct resource *r; 1544 struct resource *r;
1544 const struct of_device_id *of_id; 1545 const struct of_device_id *of_id;
1545 static int dev_id; 1546 static int dev_id;
1547 struct pinctrl *pinctrl;
1546 1548
1547 of_id = of_match_device(fec_dt_ids, &pdev->dev); 1549 of_id = of_match_device(fec_dt_ids, &pdev->dev);
1548 if (of_id) 1550 if (of_id)
@@ -1610,6 +1612,12 @@ fec_probe(struct platform_device *pdev)
1610 } 1612 }
1611 } 1613 }
1612 1614
1615 pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
1616 if (IS_ERR(pinctrl)) {
1617 ret = PTR_ERR(pinctrl);
1618 goto failed_pin;
1619 }
1620
1613 fep->clk = clk_get(&pdev->dev, NULL); 1621 fep->clk = clk_get(&pdev->dev, NULL);
1614 if (IS_ERR(fep->clk)) { 1622 if (IS_ERR(fep->clk)) {
1615 ret = PTR_ERR(fep->clk); 1623 ret = PTR_ERR(fep->clk);
@@ -1640,6 +1648,7 @@ failed_mii_init:
1640failed_init: 1648failed_init:
1641 clk_disable_unprepare(fep->clk); 1649 clk_disable_unprepare(fep->clk);
1642 clk_put(fep->clk); 1650 clk_put(fep->clk);
1651failed_pin:
1643failed_clk: 1652failed_clk:
1644 for (i = 0; i < FEC_IRQ_NUM; i++) { 1653 for (i = 0; i < FEC_IRQ_NUM; i++) {
1645 irq = platform_get_irq(pdev, i); 1654 irq = platform_get_irq(pdev, i);