net: mdiobus: use flexible sleeping for reset-delay-us
authorBruno Thomsen <bruno.thomsen@gmail.com>
Thu, 30 Jul 2020 19:57:47 +0000 (21:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Aug 2020 22:01:02 +0000 (15:01 -0700)
MDIO bus reset pulse width is created by using udelay()
and that function might not be optimal depending on
device tree value. By switching to the new fsleep() helper
the correct delay function is called depending on
delay length, e.g. udelay(), usleep_range() or msleep().

Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mdio_bus.c

index 46b3370..5df3782 100644 (file)
@@ -554,7 +554,7 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner)
                bus->reset_gpiod = gpiod;
 
                gpiod_set_value_cansleep(gpiod, 1);
-               udelay(bus->reset_delay_us);
+               fsleep(bus->reset_delay_us);
                gpiod_set_value_cansleep(gpiod, 0);
        }