backlight: pwm_bl: Don't assign levels table repeatedly
authorMatthias Kaehlcke <mka@chromium.org>
Wed, 2 Oct 2019 16:56:01 +0000 (09:56 -0700)
committerLee Jones <lee.jones@linaro.org>
Mon, 14 Oct 2019 07:57:45 +0000 (08:57 +0100)
pwm_backlight_probe() re-assigns pb->levels for every brightness
level. This is not needed and was likely not intended, since
neither side of the assignment changes during the loop. Assign
the field only once.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/video/backlight/pwm_bl.c

index 746eebc411dfa4febf8f8458faafa87460cbe5fa..05d3b3802658ca3b923ef369490307c392c298b2 100644 (file)
@@ -564,18 +564,17 @@ static int pwm_backlight_probe(struct platform_device *pdev)
        memset(&props, 0, sizeof(struct backlight_properties));
 
        if (data->levels) {
+               pb->levels = data->levels;
+
                /*
                 * For the DT case, only when brightness levels is defined
                 * data->levels is filled. For the non-DT case, data->levels
                 * can come from platform data, however is not usual.
                 */
-               for (i = 0; i <= data->max_brightness; i++) {
+               for (i = 0; i <= data->max_brightness; i++)
                        if (data->levels[i] > pb->scale)
                                pb->scale = data->levels[i];
 
-                       pb->levels = data->levels;
-               }
-
                if (pwm_backlight_is_linear(data))
                        props.scale = BACKLIGHT_SCALE_LINEAR;
                else