projects
/
openwrt
/
staging
/
rmilecki.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kernel: add support for kernel 5.4
[openwrt/staging/rmilecki.git]
/
target
/
linux
/
generic
/
pending-5.4
/
703-phy-add-detach-callback-to-struct-phy_driver.patch
diff --git
a/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch
b/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch
index 1c180b225b17c8a246450bfd5e6c71d43dbba51c..7b1989021772f302839595cc50263744ce5a0b59 100644
(file)
--- a/
target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch
+++ b/
target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch
@@
-11,21
+11,21
@@
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1
201,6 +1201
,9 @@ void phy_detach(struct phy_device *phyde
- struct module *ndev_owner =
dev->dev.parent->driver->owner
;
+@@ -1
458,6 +1458
,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) {
struct mii_bus *bus;
+ if (phydev->drv && phydev->drv->detach)
+ phydev->drv->detach(phydev);
+
if (phydev->sysfs_links) {
- sysfs_remove_link(&dev->dev.kobj, "phydev");
-
sysfs_remove_link(&phydev->mdio.dev.kobj, "attached_
dev");
+ if (dev)
+
sysfs_remove_link(&dev->dev.kobj, "phy
dev");
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -5
67,6 +56
7,12 @@ struct phy_driver {
- */
- int (*
did
_interrupt)(struct phy_device *phydev);
+@@ -5
37,6 +53
7,12 @@ struct phy_driver {
+
/* Override default interrupt handling
*/
+ int (*
handle
_interrupt)(struct phy_device *phydev);
+ /*
+ * Called before an ethernet device is detached
+ /*
+ * Called before an ethernet device is detached