From cb408fb65a08bd45543724c1e9b8f38ae1bebc4a Mon Sep 17 00:00:00 2001 From: Arnaud Ferraris Date: Tue, 4 Aug 2020 15:12:59 +0200 Subject: [PATCH 177/183] leds-gpio: make max_brightness configurable --- drivers/leds/leds-gpio.c | 4 ++++ include/linux/leds.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c index 93f5b1b60fde..f8483fab1164 100644 --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c @@ -108,6 +108,8 @@ static int create_gpio_led(const struct gpio_led *template, if (ret < 0) return ret; + led_dat->cdev.max_brightness = template->max_brightness; + if (template->name) { led_dat->cdev.name = template->name; ret = devm_led_classdev_register(parent, &led_dat->cdev); @@ -177,6 +179,8 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) if (fwnode_property_present(child, "panic-indicator")) led.panic_indicator = 1; + fwnode_property_read_u32(child, "max-brightness", &led.max_brightness); + ret = create_gpio_led(&led, led_dat, dev, child, NULL); if (ret < 0) { fwnode_handle_put(child); diff --git a/include/linux/leds.h b/include/linux/leds.h index 6a8d6409c993..99a80092114d 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h @@ -513,7 +513,8 @@ typedef int (*gpio_blink_set_t)(struct gpio_desc *desc, int state, struct gpio_led { const char *name; const char *default_trigger; - unsigned gpio; + unsigned gpio; + unsigned max_brightness; unsigned active_low : 1; unsigned retain_state_suspended : 1; unsigned panic_indicator : 1; -- 2.30.0