Messages in this thread Patch in this message | | | From | Peter Ujfalusi <> | Subject | [PATCH 1/4] pwm_backlight: Fix PWM levels support in non DT case | Date | Tue, 22 Jan 2013 14:39:53 +0100 |
| |
It is expected that board files would have: static unsigned int bl_levels[] = { 0, 50, 100, 150, 200, 250, };
static struct platform_pwm_backlight_data bl_data = { .levels = bl_levels, .max_brightness = ARRAY_SIZE(bl_levels), .dft_brightness = 4, .pwm_period_ns = 7812500, };
In this case the max_brightness would be out of range in the levels array. Decrement the received max_brightness in every case (DT or non DT) when the levels has been provided.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> --- drivers/video/backlight/pwm_bl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index 069983c..f0d6854 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -142,7 +142,6 @@ static int pwm_backlight_parse_dt(struct device *dev, } data->dft_brightness = value; - data->max_brightness--; } /* @@ -202,6 +201,7 @@ static int pwm_backlight_probe(struct platform_device *pdev) } if (data->levels) { + data->max_brightness--; max = data->levels[data->max_brightness]; pb->levels = data->levels; } else -- 1.8.1.1
| |