Re: [PATCH RFC leds + net-next v4 1/2] net: phy: add API for LEDs controlled by PHY HW

From: Andrew Lunn
Date: Tue Jul 28 2020 - 12:18:20 EST


> +static int of_phy_register_led(struct phy_device *phydev, struct device_node *np)
> +{
> + struct led_init_data init_data = {};
> + struct phy_device_led *led;
> + u32 reg;
> + int ret;
> +
> + ret = of_property_read_u32(np, "reg", &reg);
> + if (ret < 0)
> + return ret;
> +
> + led = devm_kzalloc(&phydev->mdio.dev, sizeof(struct phy_device_led), GFP_KERNEL);
> + if (!led)
> + return -ENOMEM;
> +
> + led->cdev.brightness_set_blocking = phy_led_brightness_set;
> + led->cdev.trigger_type = &phy_hw_led_trig_type;
> + led->addr = reg;
> +
> + of_property_read_string(np, "linux,default-trigger", &led->cdev.default_trigger);

Hi Marek

I think we need one more optional property. If the trigger has been
set to the PHY hardware trigger, we then should be able to set which
of the different blink patterns we want the LED to use. I guess most
users will never actually make use of the sys/class/led interface, if
the default in device tree is sensible. But that requires DT can fully
configure the LED.

Andrew