* Franklin S Cooper Jr <fcoo...@ti.com> [160225 14:37]:
> The PWMSS local clock gating registers have no real purpose on OMAP ARM
> devices. These registers were left over registers from DSP IP where the
> PRCM doesn't exist. There is a silicon bug where gating and ungating clocks
> don't function properly. TRMs will be update to indicate that these
> registers shouldn't be touched.
> 
> Therefore, all code that accesses the PWMSS_CLKCONFIG or PWMSS_CLKSTATUS
> will be removed by this patch with zero loss of functionality by the ECAP
> and EPWM drivers.
> @@ -243,40 +240,15 @@ static int ecap_pwm_probe(struct platform_device *pdev)
>       }
>  
>       pm_runtime_enable(&pdev->dev);
> -     pm_runtime_get_sync(&pdev->dev);
> -
> -     status = pwmss_submodule_state_change(pdev->dev.parent,
> -                     PWMSS_ECAPCLK_EN);
> -     if (!(status & PWMSS_ECAPCLK_EN_ACK)) {
> -             dev_err(&pdev->dev, "PWMSS config space clock enable failed\n");
> -             ret = -EINVAL;
> -             goto pwmss_clk_failure;
> -     }
> -
> -     pm_runtime_put_sync(&pdev->dev);
>  
>       platform_set_drvdata(pdev, pc);
>       return 0;
> -
> -pwmss_clk_failure:
> -     pm_runtime_put_sync(&pdev->dev);
> -     pm_runtime_disable(&pdev->dev);
> -     pwmchip_remove(&pc->chip);
> -     return ret;
>  }

Hmm but why are you also removing the pm_runtime calls? Those
actually do take care of gating the clocks via the interconnect
level code that is hwmod in this case.

Regards,

Tony

Reply via email to