Message ID | 1382522143-32072-5-git-send-email-jhovold@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11:55 Wed 23 Oct , Johan Hovold wrote: > Clean up probe error handling by checking parameters before any > allocations and removing an obsolete error label. Also remove > unnecessary reset of private gpio number. > > Acked-by: Jingoo Han <jg1.han@samsung.com> > Signed-off-by: Johan Hovold <jhovold@gmail.com> > --- > drivers/video/backlight/atmel-pwm-bl.c | 31 ++++++++++++------------------- > 1 file changed, 12 insertions(+), 19 deletions(-) > > diff --git a/drivers/video/backlight/atmel-pwm-bl.c b/drivers/video/backlight/atmel-pwm-bl.c > index cc5a5ed..52a8134 100644 > --- a/drivers/video/backlight/atmel-pwm-bl.c > +++ b/drivers/video/backlight/atmel-pwm-bl.c > @@ -126,40 +126,33 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev) > struct atmel_pwm_bl *pwmbl; > int retval; > > + pdata = dev_get_platdata(&pdev->dev); > + if (!pdata) > + return -ENODEV; > + > + if (pdata->pwm_compare_max < pdata->pwm_duty_max || > + pdata->pwm_duty_min > pdata->pwm_duty_max || > + pdata->pwm_frequency == 0) > + return -EINVAL; > + > pwmbl = devm_kzalloc(&pdev->dev, sizeof(struct atmel_pwm_bl), > GFP_KERNEL); > if (!pwmbl) > return -ENOMEM; > > pwmbl->pdev = pdev; > - > - pdata = dev_get_platdata(&pdev->dev); > - if (!pdata) { > - retval = -ENODEV; > - goto err_free_mem; > - } > - > - if (pdata->pwm_compare_max < pdata->pwm_duty_max || > - pdata->pwm_duty_min > pdata->pwm_duty_max || > - pdata->pwm_frequency == 0) { > - retval = -EINVAL; > - goto err_free_mem; > - } > - > pwmbl->pdata = pdata; > pwmbl->gpio_on = pdata->gpio_on; > > retval = pwm_channel_alloc(pdata->pwm_channel, &pwmbl->pwmc); > if (retval) > - goto err_free_mem; > + return retval; > > if (pwmbl->gpio_on != -1) { gpio_is_valid here > retval = devm_gpio_request(&pdev->dev, pwmbl->gpio_on, > "gpio_atmel_pwm_bl"); > - if (retval) { > - pwmbl->gpio_on = -1; > + if (retval) > goto err_free_pwm; > - } > > /* Turn display off by default. */ > retval = gpio_direction_output(pwmbl->gpio_on, > @@ -197,7 +190,7 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev) > > err_free_pwm: > pwm_channel_free(&pwmbl->pwmc); > -err_free_mem: > + > return retval; > } > > -- > 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
On Fri, Oct 25, 2013 at 01:11:25PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote: > On 11:55 Wed 23 Oct , Johan Hovold wrote: > > Clean up probe error handling by checking parameters before any > > allocations and removing an obsolete error label. Also remove > > unnecessary reset of private gpio number. > > > > Acked-by: Jingoo Han <jg1.han@samsung.com> > > Signed-off-by: Johan Hovold <jhovold@gmail.com> > > --- > > drivers/video/backlight/atmel-pwm-bl.c | 31 ++++++++++++------------------- > > 1 file changed, 12 insertions(+), 19 deletions(-) > > > > diff --git a/drivers/video/backlight/atmel-pwm-bl.c b/drivers/video/backlight/atmel-pwm-bl.c > > index cc5a5ed..52a8134 100644 > > --- a/drivers/video/backlight/atmel-pwm-bl.c > > +++ b/drivers/video/backlight/atmel-pwm-bl.c > > @@ -126,40 +126,33 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev) > > struct atmel_pwm_bl *pwmbl; > > int retval; > > > > + pdata = dev_get_platdata(&pdev->dev); > > + if (!pdata) > > + return -ENODEV; > > + > > + if (pdata->pwm_compare_max < pdata->pwm_duty_max || > > + pdata->pwm_duty_min > pdata->pwm_duty_max || > > + pdata->pwm_frequency == 0) > > + return -EINVAL; > > + > > pwmbl = devm_kzalloc(&pdev->dev, sizeof(struct atmel_pwm_bl), > > GFP_KERNEL); > > if (!pwmbl) > > return -ENOMEM; > > > > pwmbl->pdev = pdev; > > - > > - pdata = dev_get_platdata(&pdev->dev); > > - if (!pdata) { > > - retval = -ENODEV; > > - goto err_free_mem; > > - } > > - > > - if (pdata->pwm_compare_max < pdata->pwm_duty_max || > > - pdata->pwm_duty_min > pdata->pwm_duty_max || > > - pdata->pwm_frequency == 0) { > > - retval = -EINVAL; > > - goto err_free_mem; > > - } > > - > > pwmbl->pdata = pdata; > > pwmbl->gpio_on = pdata->gpio_on; > > > > retval = pwm_channel_alloc(pdata->pwm_channel, &pwmbl->pwmc); > > if (retval) > > - goto err_free_mem; > > + return retval; > > > > if (pwmbl->gpio_on != -1) { > gpio_is_valid here Again, this is unrelated to this patch and is fixed separately in patch 7/9. Johan > > retval = devm_gpio_request(&pdev->dev, pwmbl->gpio_on, > > "gpio_atmel_pwm_bl"); > > - if (retval) { > > - pwmbl->gpio_on = -1; > > + if (retval) > > goto err_free_pwm; > > - } > > > > /* Turn display off by default. */ > > retval = gpio_direction_output(pwmbl->gpio_on, > > @@ -197,7 +190,7 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev) > > > > err_free_pwm: > > pwm_channel_free(&pwmbl->pwmc); > > -err_free_mem: > > + > > return retval; > > } > > > > -- > > 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 cc5a5ed..52a8134 100644 --- a/drivers/video/backlight/atmel-pwm-bl.c +++ b/drivers/video/backlight/atmel-pwm-bl.c @@ -126,40 +126,33 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev) struct atmel_pwm_bl *pwmbl; int retval; + pdata = dev_get_platdata(&pdev->dev); + if (!pdata) + return -ENODEV; + + if (pdata->pwm_compare_max < pdata->pwm_duty_max || + pdata->pwm_duty_min > pdata->pwm_duty_max || + pdata->pwm_frequency == 0) + return -EINVAL; + pwmbl = devm_kzalloc(&pdev->dev, sizeof(struct atmel_pwm_bl), GFP_KERNEL); if (!pwmbl) return -ENOMEM; pwmbl->pdev = pdev; - - pdata = dev_get_platdata(&pdev->dev); - if (!pdata) { - retval = -ENODEV; - goto err_free_mem; - } - - if (pdata->pwm_compare_max < pdata->pwm_duty_max || - pdata->pwm_duty_min > pdata->pwm_duty_max || - pdata->pwm_frequency == 0) { - retval = -EINVAL; - goto err_free_mem; - } - pwmbl->pdata = pdata; pwmbl->gpio_on = pdata->gpio_on; retval = pwm_channel_alloc(pdata->pwm_channel, &pwmbl->pwmc); if (retval) - goto err_free_mem; + return retval; if (pwmbl->gpio_on != -1) { retval = devm_gpio_request(&pdev->dev, pwmbl->gpio_on, "gpio_atmel_pwm_bl"); - if (retval) { - pwmbl->gpio_on = -1; + if (retval) goto err_free_pwm; - } /* Turn display off by default. */ retval = gpio_direction_output(pwmbl->gpio_on, @@ -197,7 +190,7 @@ static int atmel_pwm_bl_probe(struct platform_device *pdev) err_free_pwm: pwm_channel_free(&pwmbl->pwmc); -err_free_mem: + return retval; }