50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
From cb408fb65a08bd45543724c1e9b8f38ae1bebc4a Mon Sep 17 00:00:00 2001
|
|
From: Arnaud Ferraris <arnaud.ferraris@gmail.com>
|
|
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
|
|
|