Commit 96e26359 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by David S. Miller

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: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1dba6995
...@@ -150,10 +150,10 @@ static int mdio_probe(struct device *dev) ...@@ -150,10 +150,10 @@ static int mdio_probe(struct device *dev)
struct mdio_driver *mdiodrv = to_mdio_driver(drv); struct mdio_driver *mdiodrv = to_mdio_driver(drv);
int err = 0; int err = 0;
if (mdiodrv->probe) {
/* Deassert the reset signal */ /* Deassert the reset signal */
mdio_device_reset(mdiodev, 0); mdio_device_reset(mdiodev, 0);
if (mdiodrv->probe) {
err = mdiodrv->probe(mdiodev); err = mdiodrv->probe(mdiodev);
if (err) { if (err) {
/* Assert the reset signal */ /* Assert the reset signal */
...@@ -170,12 +170,11 @@ static int mdio_remove(struct device *dev) ...@@ -170,12 +170,11 @@ static int mdio_remove(struct device *dev)
struct device_driver *drv = mdiodev->dev.driver; struct device_driver *drv = mdiodev->dev.driver;
struct mdio_driver *mdiodrv = to_mdio_driver(drv); struct mdio_driver *mdiodrv = to_mdio_driver(drv);
if (mdiodrv->remove) { if (mdiodrv->remove)
mdiodrv->remove(mdiodev); mdiodrv->remove(mdiodev);
/* Assert the reset signal */ /* Assert the reset signal */
mdio_device_reset(mdiodev, 1); mdio_device_reset(mdiodev, 1);
}
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment