From 0ba12a1e95497a345b4834af50dc232d51f25d7c Mon Sep 17 00:00:00 2001 From: Mohan Pallaka Date: Mon, 23 Feb 2015 16:41:47 -0800 Subject: [PATCH] leds: led-class: add support for max_brightness store Add store interface for max_brightness to allow users to change the maximum brightness to be supported by the hardware. Change-Id: I8b65debdc52ded24227483c4db21aaec63e27927 Signed-off-by: Mohan Pallaka Signed-off-by: Manaf Meethalavalappu Pallikunhi --- drivers/leds/led-class.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c index 112502a56e3e..3b152e7af22a 100644 --- a/drivers/leds/led-class.c +++ b/drivers/leds/led-class.c @@ -72,7 +72,24 @@ static ssize_t max_brightness_show(struct device *dev, return sprintf(buf, "%u\n", led_cdev->max_brightness); } -static DEVICE_ATTR_RO(max_brightness); + +static ssize_t max_brightness_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + struct led_classdev *led_cdev = dev_get_drvdata(dev); + unsigned long state; + ssize_t ret = -EINVAL; + + ret = kstrtoul(buf, 10, &state); + if (ret) + return ret; + + led_cdev->max_brightness = state; + led_set_brightness(led_cdev, led_cdev->brightness); + + return size; +} +static DEVICE_ATTR_RW(max_brightness); #ifdef CONFIG_LEDS_TRIGGERS static DEVICE_ATTR(trigger, 0644, led_trigger_show, led_trigger_store);