Introduced mdio_device_has_reset() to check if an MDIO device has any reset properties defined. Signed-off-by: Buday Csaba --- V3 -> V4: new commit --- drivers/net/phy/mdio_device.c | 13 +++++++++++++ include/linux/mdio.h | 1 + 2 files changed, 14 insertions(+) diff --git a/drivers/net/phy/mdio_device.c b/drivers/net/phy/mdio_device.c index 5d39b25b7..b1122bab8 100644 --- a/drivers/net/phy/mdio_device.c +++ b/drivers/net/phy/mdio_device.c @@ -170,6 +170,19 @@ void mdio_device_remove(struct mdio_device *mdiodev) } EXPORT_SYMBOL(mdio_device_remove); +/** + * mdio_device_has_reset - Check if an MDIO device has reset properties defined + * @mdiodev: mdio_device structure + * + * Return: non-zero if the device has a reset GPIO or reset controller, + * zero otherwise. + */ +int mdio_device_has_reset(struct mdio_device *mdiodev) +{ + return (mdiodev->reset_gpio || mdiodev->reset_ctrl); +} +EXPORT_SYMBOL(mdio_device_has_reset); + void mdio_device_reset(struct mdio_device *mdiodev, int value) { unsigned int d; diff --git a/include/linux/mdio.h b/include/linux/mdio.h index d81b63fc7..83cfc051e 100644 --- a/include/linux/mdio.h +++ b/include/linux/mdio.h @@ -92,6 +92,7 @@ void mdio_device_free(struct mdio_device *mdiodev); struct mdio_device *mdio_device_create(struct mii_bus *bus, int addr); int mdio_device_register_reset(struct mdio_device *mdiodev); void mdio_device_unregister_reset(struct mdio_device *mdiodev); +int mdio_device_has_reset(struct mdio_device *mdiodev); int mdio_device_register(struct mdio_device *mdiodev); void mdio_device_remove(struct mdio_device *mdiodev); void mdio_device_reset(struct mdio_device *mdiodev, int value); -- 2.39.5