net: mdio device: use flexible sleeping in reset function
authorBruno Thomsen <bruno.thomsen@gmail.com>
Thu, 30 Jul 2020 19:57:49 +0000 (21:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Aug 2020 22:01:02 +0000 (15:01 -0700)
MDIO device reset assert and deassert length was created by
usleep_range() but that does not ensure optimal handling of
all the different values from device tree properties.
By switching to the new flexible sleeping helper function,
fsleep(), 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_device.c

index 0f625a1..0837319 100644 (file)
@@ -132,7 +132,7 @@ void mdio_device_reset(struct mdio_device *mdiodev, int value)
 
        d = value ? mdiodev->reset_assert_delay : mdiodev->reset_deassert_delay;
        if (d)
-               usleep_range(d, d + max_t(unsigned int, d / 10, 100));
+               fsleep(d);
 }
 EXPORT_SYMBOL(mdio_device_reset);