On 19 October 2012 15:13, Shiraz Hashim <[email protected]> wrote:
> It may not be required as pwms which are not enabled do not have
> their clocks enabled. Hence, perhaps we can do following,
>
> 8<---------------------------
> static int spear_pwm_remove(struct platform_device *pdev)
> {
>         struct spear_pwm_chip *pc = platform_get_drvdata(pdev);
>         int i;
>
>         if (WARN_ON(!pc))
>                 return -ENODEV;
>
>         for (i = 0; i < NUM_PWM; i++) {
>                 struct pwm_device *pwm = &pc->chip.pwms[i];
>
>                 if (test_bit(PWMF_ENABLED, &pwm->flags)) {
>                         spear_pwm_writel(pc, i, PWMCR, 0);
>                         clk_disable(pc->clk);
>                 }
>         }
>
>         /* clk was prepared in probe, hence unprepare it here */
>         clk_unprepare(pc->clk);
>         return pwmchip_remove(&pc->chip);
> }

Better.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to