Message ID | 1382522143-32072-9-git-send-email-jhovold@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11:55 Wed 23 Oct , Johan Hovold wrote: > Add helper function to control the gpio_on signal. > > Acked-by: Jingoo Han <jg1.han@samsung.com> > Signed-off-by: Johan Hovold <jhovold@gmail.com> ok > --- > drivers/video/backlight/atmel-pwm-bl.c | 23 +++++++++++------------ > 1 file changed, 11 insertions(+), 12 deletions(-) > > diff --git a/drivers/video/backlight/atmel-pwm-bl.c b/drivers/video/backlight/atmel-pwm-bl.c > index ffc30d2..1277e0c 100644 > --- a/drivers/video/backlight/atmel-pwm-bl.c > +++ b/drivers/video/backlight/atmel-pwm-bl.c > @@ -26,6 +26,14 @@ struct atmel_pwm_bl { > int gpio_on; > }; > > +static void atmel_pwm_bl_set_gpio_on(struct atmel_pwm_bl *pwmbl, int on) > +{ > + if (!gpio_is_valid(pwmbl->gpio_on)) > + return; > + > + gpio_set_value(pwmbl->gpio_on, on ^ pwmbl->pdata->on_active_low); > +} > + > static int atmel_pwm_bl_set_intensity(struct backlight_device *bd) > { > struct atmel_pwm_bl *pwmbl = bl_get_data(bd); > @@ -48,19 +56,13 @@ static int atmel_pwm_bl_set_intensity(struct backlight_device *bd) > pwm_duty = pwmbl->pdata->pwm_duty_min; > > if (!intensity) { > - if (gpio_is_valid(pwmbl->gpio_on)) { > - gpio_set_value(pwmbl->gpio_on, > - 0 ^ pwmbl->pdata->on_active_low); > - } > + atmel_pwm_bl_set_gpio_on(pwmbl, 0); > pwm_channel_writel(&pwmbl->pwmc, PWM_CUPD, pwm_duty); > pwm_channel_disable(&pwmbl->pwmc); > } else { > pwm_channel_enable(&pwmbl->pwmc); > pwm_channel_writel(&pwmbl->pwmc, PWM_CUPD, pwm_duty); > - if (gpio_is_valid(pwmbl->gpio_on)) { > - gpio_set_value(pwmbl->gpio_on, > - 1 ^ pwmbl->pdata->on_active_low); > - } > + atmel_pwm_bl_set_gpio_on(pwmbl, 1); > } > > return 0; > @@ -196,10 +198,7 @@ static int atmel_pwm_bl_remove(struct platform_device *pdev) > { > struct atmel_pwm_bl *pwmbl = platform_get_drvdata(pdev); > > - if (gpio_is_valid(pwmbl->gpio_on)) { > - gpio_set_value(pwmbl->gpio_on, > - 0 ^ pwmbl->pdata->on_active_low); > - } > + atmel_pwm_bl_set_gpio_on(pwmbl, 0); > pwm_channel_disable(&pwmbl->pwmc); > pwm_channel_free(&pwmbl->pwmc); > > -- > 1.8.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/video/backlight/atmel-pwm-bl.c b/drivers/video/backlight/atmel-pwm-bl.c index ffc30d2..1277e0c 100644 --- a/drivers/video/backlight/atmel-pwm-bl.c +++ b/drivers/video/backlight/atmel-pwm-bl.c @@ -26,6 +26,14 @@ struct atmel_pwm_bl { int gpio_on; }; +static void atmel_pwm_bl_set_gpio_on(struct atmel_pwm_bl *pwmbl, int on) +{ + if (!gpio_is_valid(pwmbl->gpio_on)) + return; + + gpio_set_value(pwmbl->gpio_on, on ^ pwmbl->pdata->on_active_low); +} + static int atmel_pwm_bl_set_intensity(struct backlight_device *bd) { struct atmel_pwm_bl *pwmbl = bl_get_data(bd); @@ -48,19 +56,13 @@ static int atmel_pwm_bl_set_intensity(struct backlight_device *bd) pwm_duty = pwmbl->pdata->pwm_duty_min; if (!intensity) { - if (gpio_is_valid(pwmbl->gpio_on)) { - gpio_set_value(pwmbl->gpio_on, - 0 ^ pwmbl->pdata->on_active_low); - } + atmel_pwm_bl_set_gpio_on(pwmbl, 0); pwm_channel_writel(&pwmbl->pwmc, PWM_CUPD, pwm_duty); pwm_channel_disable(&pwmbl->pwmc); } else { pwm_channel_enable(&pwmbl->pwmc); pwm_channel_writel(&pwmbl->pwmc, PWM_CUPD, pwm_duty); - if (gpio_is_valid(pwmbl->gpio_on)) { - gpio_set_value(pwmbl->gpio_on, - 1 ^ pwmbl->pdata->on_active_low); - } + atmel_pwm_bl_set_gpio_on(pwmbl, 1); } return 0; @@ -196,10 +198,7 @@ static int atmel_pwm_bl_remove(struct platform_device *pdev) { struct atmel_pwm_bl *pwmbl = platform_get_drvdata(pdev); - if (gpio_is_valid(pwmbl->gpio_on)) { - gpio_set_value(pwmbl->gpio_on, - 0 ^ pwmbl->pdata->on_active_low); - } + atmel_pwm_bl_set_gpio_on(pwmbl, 0); pwm_channel_disable(&pwmbl->pwmc); pwm_channel_free(&pwmbl->pwmc);