]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
leds: multicolor: Change intensity_value to unsigned int
authorMichael Tretter <m.tretter@pengutronix.de>
Fri, 6 Feb 2026 14:21:23 +0000 (15:21 +0100)
committerLee Jones <lee@kernel.org>
Tue, 10 Mar 2026 09:22:53 +0000 (09:22 +0000)
Using min to compare the intensity_value with led_dev->max_brightness
causes a signedness error:

drivers/leds/led-class-multicolor.c: In function 'multi_intensity_store':
././include/linux/compiler_types.h:630:45: error:
  call to '__compiletime_assert_195' declared with attribute error:
    min(intensity_value[i], led_cdev->max_brightness) signedness error

Change the type of intensity_value to unsigned int to fix the signedness
error.

intensity_value is used to set mcled_cdev->subled_info[i].intensity,
which is unsigned int, too.

Fixes: 129f82752bce ("leds: multicolor: Limit intensity to max_brightness of LED")
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Link: https://patch.msgid.link/20260206-leds-multicolor-fix-signedness-error-v1-1-48a00ed33c07@pengutronix.de
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/led-class-multicolor.c

index fd66d2bdeace8eeb254fc3fce2d1c8f0239bc063..6b671f3f9c617c8e501cea54a34b8a1ab83f25a7 100644 (file)
@@ -34,14 +34,14 @@ static ssize_t multi_intensity_store(struct device *dev,
        struct led_classdev *led_cdev = dev_get_drvdata(dev);
        struct led_classdev_mc *mcled_cdev = lcdev_to_mccdev(led_cdev);
        int nrchars, offset = 0;
-       int intensity_value[LED_COLOR_ID_MAX];
+       unsigned int intensity_value[LED_COLOR_ID_MAX];
        int i;
        ssize_t ret;
 
        mutex_lock(&led_cdev->led_access);
 
        for (i = 0; i < mcled_cdev->num_colors; i++) {
-               ret = sscanf(buf + offset, "%i%n",
+               ret = sscanf(buf + offset, "%u%n",
                             &intensity_value[i], &nrchars);
                if (ret != 1) {
                        ret = -EINVAL;