It could be more than one instance of LED with the same name in the modular systems. For example, "status" or "uid" LED can be located on chassis and on each line card of modular system. In order to avoid conflicts with duplicated names, append platform device Id, which is unquie, to LED name after driver name. Thus, for example, "status" LED on chassis is to be called, like it is called now on non modular systems, on which platform device Id is not specified: "mlxreg:status:green". While for the line cards LEDs it will be called like: "mlxreg48:status:green", "mlxreg66:status:green", etcetera. Signed-off-by: Vadim Pasternak <vadimp@xxxxxxxxxx> --- drivers/leds/leds-mlxreg.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/leds/leds-mlxreg.c b/drivers/leds/leds-mlxreg.c index 82aea1cd0c12..53130a8656b1 100644 --- a/drivers/leds/leds-mlxreg.c +++ b/drivers/leds/leds-mlxreg.c @@ -228,8 +228,12 @@ static int mlxreg_led_config(struct mlxreg_led_priv_data *priv) brightness = LED_OFF; led_data->base_color = MLXREG_LED_GREEN_SOLID; } - snprintf(led_data->led_cdev_name, sizeof(led_data->led_cdev_name), - "mlxreg:%s", data->label); + if (priv->pdev->id > 0) + sprintf(led_data->led_cdev_name, "%s%d:%s", "mlxreg", + priv->pdev->id, data->label); + else + sprintf(led_data->led_cdev_name, "%s:%s", "mlxreg", + data->label); led_cdev->name = led_data->led_cdev_name; led_cdev->brightness = brightness; led_cdev->max_brightness = LED_ON; -- 2.11.0