On Sat, May 23, 2020 at 7:44 PM Marek Vasut <[email protected]> wrote:
>
> Instead of doing ethernet device lookup by name every time there
> is an MDIO access, pass the driver private data via mdiobus priv
> to the MDIO bus accessors.
>
> Signed-off-by: Marek Vasut <[email protected]>
> ---
>  drivers/net/eepro100.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
> index 1c33ec3da2..78dedbdcc9 100644
> --- a/drivers/net/eepro100.c
> +++ b/drivers/net/eepro100.c
> @@ -309,9 +309,7 @@ static int verify_phyaddr(struct eepro100_priv *priv, 
> unsigned char addr)
>  static int eepro100_miiphy_read(struct mii_dev *bus, int addr, int devad,
>                                 int reg)
>  {
> -       struct eth_device *dev = eth_get_dev_by_name(bus->name);
> -       struct eepro100_priv *priv =
> -               container_of(dev, struct eepro100_priv, dev);
> +       struct eepro100_priv *priv = bus->priv;
>         unsigned short value = 0;
>         int ret;
>
> @@ -331,9 +329,7 @@ static int eepro100_miiphy_read(struct mii_dev *bus, int 
> addr, int devad,
>  static int eepro100_miiphy_write(struct mii_dev *bus, int addr, int devad,
>                                  int reg, u16 value)
>  {
> -       struct eth_device *dev = eth_get_dev_by_name(bus->name);
> -       struct eepro100_priv *priv =
> -               container_of(dev, struct eepro100_priv, dev);
> +       struct eepro100_priv *priv = bus->priv;
>         int ret;
>
>         ret = verify_phyaddr(priv, addr);
> @@ -486,6 +482,7 @@ static int eepro100_initialize_mii(struct eepro100_priv 
> *priv)
>         strncpy(mdiodev->name, priv->name, MDIO_NAME_LEN);
>         mdiodev->read = eepro100_miiphy_read;
>         mdiodev->write = eepro100_miiphy_write;
> +       mdiodev->priv = priv;
>
>         ret = mdio_register(mdiodev);
>         if (ret < 0) {
> --
> 2.25.1
>
Reviewed-By: Ramon Fried <[email protected]>

Reply via email to