From: Srinivas Kandagatla <[email protected]> When the mdio-gpio driver is probed via device trees, the platform device id is set as -1, However the id is re-used in the code while creating an mdio bus. So, setting up the id via aliases from device tree is a sensible solution to fix this issue.
Signed-off-by: Srinivas Kandagatla <[email protected]> --- .../devicetree/bindings/net/mdio-gpio.txt | 9 ++++++++- drivers/net/phy/mdio-gpio.c | 1 + 2 files changed, 9 insertions(+), 1 deletions(-) diff --git a/Documentation/devicetree/bindings/net/mdio-gpio.txt b/Documentation/devicetree/bindings/net/mdio-gpio.txt index bc95495..c79bab0 100644 --- a/Documentation/devicetree/bindings/net/mdio-gpio.txt +++ b/Documentation/devicetree/bindings/net/mdio-gpio.txt @@ -8,9 +8,16 @@ gpios property as described in section VIII.1 in the following order: MDC, MDIO. +Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases" +node. + Example: -mdio { +aliases { + mdio-gpio0 = <&mdio0>; +}; + +mdio0: mdio { compatible = "virtual,mdio-gpio"; #address-cells = <1>; #size-cells = <0>; diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c index 899274f..e3f3115 100644 --- a/drivers/net/phy/mdio-gpio.c +++ b/drivers/net/phy/mdio-gpio.c @@ -56,6 +56,7 @@ static void *mdio_gpio_of_get_data(struct platform_device *pdev) if (ret < 0) return NULL; pdata->mdio = ret; + pdev->id = of_alias_get_id(np, "mdio-gpio"); return pdata; } -- 1.7.0.4 _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
