[U-Boot] [PATCH 1/2] phylib: reset mii bus only if reset handler is registered

Andy Fleming afleming at gmail.com
Thu Sep 22 23:44:11 CEST 2011


On Mon, Sep 5, 2011 at 12:24 PM, Vladimir Zapolskiy <vz at mleia.com> wrote:
> This change allows to cope with a mii bus device registered using
> miiphy_register(), which doesn't assign a default reset handler.
>
> Signed-off-by: Vladimir Zapolskiy <vz at mleia.com>
> ---
>  drivers/net/phy/phy.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index ce69c19..8da7688 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -692,7 +692,8 @@ struct phy_device *phy_connect(struct mii_dev *bus, int addr,
>        struct phy_device *phydev;
>
>        /* Reset the bus */
> -       bus->reset(bus);
> +       if (bus->reset)
> +               bus->reset(bus);


The change is a good idea, but I find the motivation for it strange.
If you register a bus with miiphy_register, you are declaring your
intent to use the legacy PHY interface. But phy_connect() is part of
the new phylib API. It was not intended that combining the two work at
all. Looking at the code, I see no reason it wouldn't work, but I
question why you would do that, instead of creating a proper MDIO
driver?

Andy


More information about the U-Boot mailing list