[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ad7fc6105e7e9187d504a1cb9873e039ab1d4f8d.1761124022.git.buday.csaba@prolan.hu>
Date: Wed, 22 Oct 2025 11:08:52 +0200
From: Buday Csaba <buday.csaba@...lan.hu>
To: Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski
<kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Philipp Zabel
<p.zabel@...gutronix.de>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
CC: Buday Csaba <buday.csaba@...lan.hu>
Subject: [PATCH net-next v4 3/4] net: mdio: introduce mdio_device_has_reset()
Introduced mdio_device_has_reset() to check if an MDIO
device has any reset properties defined.
Signed-off-by: Buday Csaba <buday.csaba@...lan.hu>
---
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
Powered by blists - more mailing lists