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 <m...@chromium.org>
---

 drivers/video/backlight/pwm_bl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index 746eebc411df..959436b9e92b 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -564,6 +564,8 @@ 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
@@ -572,8 +574,6 @@ static int pwm_backlight_probe(struct platform_device *pdev)
                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))
-- 
2.23.0.444.g18eeb5a265-goog

Reply via email to