• Srinivas Kandagatla's avatar
    of/net/mdio-gpio: Fix pdev->id issue when using devicetrees. · 3272dd9b
    Srinivas Kandagatla authored
    When the mdio-gpio driver is probed via device trees, the platform
    device id is set as -1, However the pdev->id is re-used as bus-id for
    while creating mdio gpio bus.
    So
    For device tree case the mdio-gpio bus name appears as "gpio-ffffffff"
    where as
    for non-device tree case the bus name appears as "gpio-<bus-num>"
    
    Which means the bus_id is fixed in device tree case, so we can't have
    two mdio gpio buses via device trees. Assigning a logical bus number
    via device tree solves the problem and the bus name is much consistent
    with non-device tree bus name.
    
    Without this patch
    1. we can't support two mdio-gpio buses via device trees.
    2. we should always pass gpio-ffffffff as bus name to phy_connect, very
    different to non-device tree bus name.
    
    So, setting up the bus_id via aliases from device tree is the right
    solution and other drivers do similar thing.
    Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3272dd9b
mdio-gpio.c 5.41 KB