diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-06-27 03:45:20 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-27 21:22:05 -0700 |
commit | 2ca9b2aa0d5a43e954789e0da675a826b83932b7 (patch) | |
tree | 215e82c4d767ee066082f973f765baa90db66e25 /drivers/net/ethernet/freescale/fec.c | |
parent | d2e553bca89596b7ac35f8abcec9c9b93f772fc2 (diff) | |
download | linux-2ca9b2aa0d5a43e954789e0da675a826b83932b7.tar.gz linux-2ca9b2aa0d5a43e954789e0da675a826b83932b7.tar.bz2 linux-2ca9b2aa0d5a43e954789e0da675a826b83932b7.zip |
net: fec: reset phy after pinctrl setup
In case that bootloader or platform initialization does not set up
fec pins, the fec_reset_phy will not be able to succeed, because
fec_reset_phy is currently called before devm_pinctrl_get_select_default.
Move fec_reset_phy call to the place between devm_pinctrl_get_select_default
and fec_enet_init to have above case be taken care.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/fec.c')
-rw-r--r-- | drivers/net/ethernet/freescale/fec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c index ff7f4c5115a1..e868a377c898 100644 --- a/drivers/net/ethernet/freescale/fec.c +++ b/drivers/net/ethernet/freescale/fec.c @@ -1593,8 +1593,6 @@ fec_probe(struct platform_device *pdev) fep->phy_interface = ret; } - fec_reset_phy(pdev); - for (i = 0; i < FEC_IRQ_NUM; i++) { irq = platform_get_irq(pdev, i); if (irq < 0) { @@ -1634,6 +1632,8 @@ fec_probe(struct platform_device *pdev) clk_prepare_enable(fep->clk_ahb); clk_prepare_enable(fep->clk_ipg); + fec_reset_phy(pdev); + ret = fec_enet_init(ndev); if (ret) goto failed_init; |