summaryrefslogtreecommitdiffstats
path: root/drivers/leds/trigger
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2023-11-03 21:53:08 +0200
committerLee Jones <lee@kernel.org>2023-12-13 11:28:37 +0000
commit7d6766f5377686b871ab52c564327718ece233ad (patch)
treee2a999c93fcab3c39f318821e26e3707ffa576d0 /drivers/leds/trigger
parent9bbd6b7209cf1e26390975b7617a29901c8990a1 (diff)
downloadlinux-7d6766f5377686b871ab52c564327718ece233ad.tar.gz
linux-7d6766f5377686b871ab52c564327718ece233ad.tar.bz2
linux-7d6766f5377686b871ab52c564327718ece233ad.zip
leds: trigger: gpio: Convert to use kstrtox()
sscanf() is a heavy one and moreover requires additional boundary checks. Convert driver to use kstrtou8() in gpio_trig_inverted_store(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20231103195310.948327-2-andriy.shevchenko@linux.intel.com Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'drivers/leds/trigger')
-rw-r--r--drivers/leds/trigger/ledtrig-gpio.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/leds/trigger/ledtrig-gpio.c b/drivers/leds/trigger/ledtrig-gpio.c
index d91ae7fde3cf..8a30f9228186 100644
--- a/drivers/leds/trigger/ledtrig-gpio.c
+++ b/drivers/leds/trigger/ledtrig-gpio.c
@@ -53,14 +53,12 @@ static ssize_t gpio_trig_brightness_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t n)
{
struct gpio_trig_data *gpio_data = led_trigger_get_drvdata(dev);
- unsigned desired_brightness;
+ u8 desired_brightness;
int ret;
- ret = sscanf(buf, "%u", &desired_brightness);
- if (ret < 1 || desired_brightness > 255) {
- dev_err(dev, "invalid value\n");
- return -EINVAL;
- }
+ ret = kstrtou8(buf, 10, &desired_brightness);
+ if (ret)
+ return ret;
gpio_data->desired_brightness = desired_brightness;