Commit 16aef666 authored by Christian Marangi's avatar Christian Marangi Committed by Paolo Abeni
Browse files

net: phy: Validate PHY LED OPs presence before registering



Validate PHY LED OPs presence before registering and parsing them.
Defining LED nodes for a PHY driver that actually doesn't supports them
is redundant and useless.

It's also the case with Generic PHY driver used and a DT having LEDs
node for the specific PHY.

Skip it and report the error with debug print enabled.

Signed-off-by: default avatarChristian Marangi <ansuelsmth@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20241008194718.9682-1-ansuelsmth@gmail.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 88dc9aeb
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -3420,6 +3420,16 @@ static int of_phy_leds(struct phy_device *phydev)
	if (!leds)
		return 0;

	/* Check if the PHY driver have at least an OP to
	 * set the LEDs.
	 */
	if (!(phydev->drv->led_brightness_set ||
	      phydev->drv->led_blink_set ||
	      phydev->drv->led_hw_control_set)) {
		phydev_dbg(phydev, "ignoring leds node defined with no PHY driver support\n");
		goto exit;
	}

	for_each_available_child_of_node_scoped(leds, led) {
		err = of_phy_led(phydev, led);
		if (err) {
@@ -3429,6 +3439,7 @@ static int of_phy_leds(struct phy_device *phydev)
		}
	}

exit:
	of_node_put(leds);
	return 0;
}