--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -2967,6 +2967,61 @@ static int phy_led_blink_set(struct led_
+@@ -3070,6 +3070,61 @@ static int phy_led_blink_set(struct led_
return err;
}
static void phy_leds_unregister(struct phy_device *phydev)
{
struct phy_led *phyled;
-@@ -3004,6 +3059,19 @@ static int of_phy_led(struct phy_device
+@@ -3107,6 +3162,19 @@ static int of_phy_led(struct phy_device
cdev->brightness_set_blocking = phy_led_set_brightness;
if (phydev->drv->led_blink_set)
cdev->blink_set = phy_led_blink_set;
init_data.fwnode = of_fwnode_handle(led);
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -1023,6 +1023,39 @@ struct phy_driver {
+@@ -1026,6 +1026,39 @@ struct phy_driver {
int (*led_blink_set)(struct phy_device *dev, u8 index,
unsigned long *delay_on,
unsigned long *delay_off);