Hello,

On Tue, Jun 11, 2019 at 11:14:44AM +0530, Yash Shah wrote:
> [...]
> +static int pwm_sifive_remove(struct platform_device *dev)
> +{
> +     struct pwm_sifive_ddata *ddata = platform_get_drvdata(dev);
> +     bool is_enabled = false;
> +     struct pwm_device *pwm;
> +     int ret, ch;
> +
> +     for (ch = 0; ch < ddata->chip.npwm; ch++) {
> +             pwm = &ddata->chip.pwms[ch];
> +             if (pwm->state.enabled) {
> +                     is_enabled = true;
> +                     break;
> +             }
> +     }
> +     if (is_enabled)
> +             clk_disable(ddata->clk);
> +
> +     clk_disable_unprepare(ddata->clk);
> +     ret = pwmchip_remove(&ddata->chip);
> +     clk_notifier_unregister(ddata->clk, &ddata->notifier);
> +
> +     return ret;

I think the return value of a platform driver's remove callback is
ignored. So usually you should return 0.

Not sure this is worth addressing in a new round, so if noone else has
something to criticise that justifies a new round, take my

        Reviewed-by: Uwe Kleine-König <u.kleine-koe...@pengutronix.de>

> +}

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

Reply via email to