of: mdio: export of_mdio_parse_addr
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 10 Mar 2015 23:57:11 +0000 (16:57 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Mar 2015 21:56:28 +0000 (17:56 -0400)
Export of_mdio_parse_addr() which allows parsing a given Ethernet PHY
node MDIO address, verify it is within the allowed range, and return
its value. This is going to be useful for the DSA code which needs to
deal with multiple layers of MDIO buses.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/of/of_mdio.c
include/linux/of_mdio.h

index 1bd43053b8c774505d7d3037d46a96925a446643..0c064485d1c2c47e3c84b2ab25fd524bf200ea33 100644 (file)
@@ -88,7 +88,7 @@ static int of_mdiobus_register_phy(struct mii_bus *mdio, struct device_node *chi
        return 0;
 }
 
-static int of_mdio_parse_addr(struct device *dev, const struct device_node *np)
+int of_mdio_parse_addr(struct device *dev, const struct device_node *np)
 {
        u32 addr;
        int ret;
@@ -108,6 +108,7 @@ static int of_mdio_parse_addr(struct device *dev, const struct device_node *np)
 
        return addr;
 }
+EXPORT_SYMBOL(of_mdio_parse_addr);
 
 /**
  * of_mdiobus_register - Register mii_bus and create PHYs from the device tree
index d449018d07265200f4d8d6eeaf8ddac1a9010ebd..8f2237eb348574cfeb56eb7af844be63e1e3184e 100644 (file)
@@ -24,6 +24,7 @@ struct phy_device *of_phy_attach(struct net_device *dev,
                                 phy_interface_t iface);
 
 extern struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np);
+extern int of_mdio_parse_addr(struct device *dev, const struct device_node *np);
 
 #else /* CONFIG_OF */
 static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
@@ -60,6 +61,12 @@ static inline struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np)
 {
        return NULL;
 }
+
+static inline int of_mdio_parse_addr(struct device *dev,
+                                    const struct device_node *np)
+{
+       return -ENOSYS;
+}
 #endif /* CONFIG_OF */
 
 #if defined(CONFIG_OF) && defined(CONFIG_FIXED_PHY)