net: phy: mdio: reset MDIO devices even if probe() is not implemented
Similarily to PHY drivers - there's no reason to require probe() to be implemented in order to call mdio_device_reset(). MDIO devices can have resets defined without needing to do anything in probe(). Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.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>
This commit is contained in:
parent
1dba699573
commit
96e263592b
@ -150,10 +150,10 @@ static int mdio_probe(struct device *dev)
|
||||
struct mdio_driver *mdiodrv = to_mdio_driver(drv);
|
||||
int err = 0;
|
||||
|
||||
if (mdiodrv->probe) {
|
||||
/* Deassert the reset signal */
|
||||
mdio_device_reset(mdiodev, 0);
|
||||
/* Deassert the reset signal */
|
||||
mdio_device_reset(mdiodev, 0);
|
||||
|
||||
if (mdiodrv->probe) {
|
||||
err = mdiodrv->probe(mdiodev);
|
||||
if (err) {
|
||||
/* Assert the reset signal */
|
||||
@ -170,12 +170,11 @@ static int mdio_remove(struct device *dev)
|
||||
struct device_driver *drv = mdiodev->dev.driver;
|
||||
struct mdio_driver *mdiodrv = to_mdio_driver(drv);
|
||||
|
||||
if (mdiodrv->remove) {
|
||||
if (mdiodrv->remove)
|
||||
mdiodrv->remove(mdiodev);
|
||||
|
||||
/* Assert the reset signal */
|
||||
mdio_device_reset(mdiodev, 1);
|
||||
}
|
||||
/* Assert the reset signal */
|
||||
mdio_device_reset(mdiodev, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user