3af779eb17
This is a backport of the patches accepted to the Linux mainline related to mvebu SoC (Armada XP and Armada 370) between Linux v3.11, and Linux v3.12. This work mainly covers: * Ground work for sharing the pxa nand driver(drivers/mtd/nand/pxa3xx_nand.c) between the PXA family,and the Armada family. * Further updates to the mvebu MBus. * Work and ground work for enabling MSI on the Armada family. * some phy / mdio bus initialization related work. * Device tree binding documentation update. Signed-off-by: Seif Mazareeb <seif.mazareeb@gmail.com> CC: Luka Perkov <luka@openwrt.org> SVN-Revision: 39565
43 lines
1.5 KiB
Diff
43 lines
1.5 KiB
Diff
From dce33dc5a6ba5f7fcbab4d7e92cc68c756a1f714 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Date: Mon, 15 Jul 2013 17:34:09 +0200
|
|
Subject: [PATCH 081/203] net: phy: call mdiobus_scan() after adding a fixed
|
|
PHY
|
|
|
|
The fixed_phy_add() function allows to register a fixed PHY. However,
|
|
when this function gets called *after* fixed_mdio_bus_init() (which
|
|
gets called at the module_init stage), then the fixed PHY is not
|
|
registered into the phylib.
|
|
|
|
In order to address this, we add a call to mdiobus_scan() in
|
|
fixed_phy_add() to ensure that the PHY indeed gets registered into the
|
|
phylib, even if the fixed_phy_add() is called after
|
|
fixed_mdio_bus_init().
|
|
|
|
This is needed because until now, the only code that was calling the
|
|
fixed_add_phy() function was PowerPC-specific platform code, which
|
|
could ensure that such fixed PHYs get registered before
|
|
fixed_mdio_bus_init() is called.
|
|
|
|
However, with the new of_phy_register_fixed_link() function, device
|
|
drivers can parse their 'fixed-link' property and register a fixed PHY
|
|
at ->probe() time, which may happen after fixed_mdio_bus_init() is
|
|
called.
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
---
|
|
drivers/net/phy/fixed.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
--- a/drivers/net/phy/fixed.c
|
|
+++ b/drivers/net/phy/fixed.c
|
|
@@ -195,6 +195,8 @@ int fixed_phy_add(unsigned int irq, int
|
|
|
|
list_add_tail(&fp->node, &fmb->phys);
|
|
|
|
+ mdiobus_scan(fmb->mii_bus, phy_id);
|
|
+
|
|
return 0;
|
|
|
|
err_regs:
|