Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

pwm: pwm-tipwmss: Remove all runtime PM gets/puts

Remove all pm_runtime_get_sync() and pm_runtime_put_sync() call as well
as the dummy pm_ops from the pwm-tipwmss driver. No registers are being
modified. The runtime PM still needs to be enabled, so that the runtime
PM framework can take care of enabling/disabling the PWMSS clock when
submodules of PWMSS (ECAP or EHRPWM) call runtime PM APIs. With this
change PWMSS clock goes to idle when none of the submodules are in use.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>

authored by

Jyri Sarha and committed by
Thierry Reding
549c50af 065cfbbb

-19
-19
drivers/pwm/pwm-tipwmss.c
··· 34 34 struct device_node *node = pdev->dev.of_node; 35 35 36 36 pm_runtime_enable(&pdev->dev); 37 - pm_runtime_get_sync(&pdev->dev); 38 37 39 38 /* Populate all the child nodes here... */ 40 39 ret = of_platform_populate(node, NULL, NULL, &pdev->dev); ··· 45 46 46 47 static int pwmss_remove(struct platform_device *pdev) 47 48 { 48 - pm_runtime_put_sync(&pdev->dev); 49 49 pm_runtime_disable(&pdev->dev); 50 50 return 0; 51 51 } 52 52 53 - #ifdef CONFIG_PM_SLEEP 54 - static int pwmss_suspend(struct device *dev) 55 - { 56 - pm_runtime_put_sync(dev); 57 - return 0; 58 - } 59 - 60 - static int pwmss_resume(struct device *dev) 61 - { 62 - pm_runtime_get_sync(dev); 63 - return 0; 64 - } 65 - #endif 66 - 67 - static SIMPLE_DEV_PM_OPS(pwmss_pm_ops, pwmss_suspend, pwmss_resume); 68 - 69 53 static struct platform_driver pwmss_driver = { 70 54 .driver = { 71 55 .name = "pwmss", 72 - .pm = &pwmss_pm_ops, 73 56 .of_match_table = pwmss_of_match, 74 57 }, 75 58 .probe = pwmss_probe,