openwrt/target/linux/generic/pending-6.1/703-phy-add-detach-callback-to-struct-phy_driver.patch
Christian Marangi c2c741ccce
generic: 6.1: initial backport of at803x PHY driver cleanup
Initial backport of at803x PHY driver cleanup. This is in preparation
for split and addition of new PHY Family based on at803x needed for
ipq807x and other IPQ Series SoC.

Other affected patch are automatically refreshed with
make target/linux/refresh

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-01-15 20:01:42 +01:00

39 lines
1.1 KiB
Diff

From: Gabor Juhos <juhosg@openwrt.org>
Subject: generic: add detach callback to struct phy_driver
lede-commit: fe61fc2d7d0b3fb348b502f68f98243b3ddf5867
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
---
drivers/net/phy/phy_device.c | 3 +++
include/linux/phy.h | 6 ++++++
2 files changed, 9 insertions(+)
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -1753,6 +1753,9 @@ void phy_detach(struct phy_device *phyde
struct module *ndev_owner = NULL;
struct mii_bus *bus;
+ if (phydev->drv && phydev->drv->detach)
+ phydev->drv->detach(phydev);
+
if (phydev->sysfs_links) {
if (dev)
sysfs_remove_link(&dev->dev.kobj, "phydev");
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -887,6 +887,12 @@ struct phy_driver {
/** @handle_interrupt: Override default interrupt handling */
irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
+ /*
+ * Called before an ethernet device is detached
+ * from the PHY.
+ */
+ void (*detach)(struct phy_device *phydev);
+
/** @remove: Clears up any memory if needed */
void (*remove)(struct phy_device *phydev);