On Fri, 17 Mar 2023 03:31:15 +0100 Christian Marangi <ansuelsmth@xxxxxxxxx> wrote: > + cdev->brightness_set_blocking = phy_led_set_brightness; > + cdev->max_brightness = 1; > + init_data.devicename = dev_name(&phydev->mdio.dev); > + init_data.fwnode = of_fwnode_handle(led); > + > + err = devm_led_classdev_register_ext(dev, cdev, &init_data); Since init_data.devname_mandatory is false, devicename is ignored. Which is probably good, becuse the device name of a mdio device is often ugly, taken from devicetree or switch drivers, for example: f1072004.mdio-mii fixed-0 mv88e6xxx-1 So either don't fill devicename or use devname_mandatory (and maybe fill devicename with something less ugly, but I guess if we don't have much choice if we want to keep persistent names). Without devname_mandatory, the name of the LED classdev will be of the form color:function[-function-enumerator], i.e. green:lan amber:lan-1 With multiple switch ethenret ports all having LAN function, it is worth noting that the function enumerator must be explicitly used in the devicetree, otherwise multiple LEDs will be registered under the same name, and the LED subsystem will add a number at the and of the name (function led_classdev_next_name), resulting in names green:lan green:lan_1 green:lan_2 ... These names are dependent on the order of classdev registration. Marek