From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752194AbcH3Esm (ORCPT ); Tue, 30 Aug 2016 00:48:42 -0400 Received: from arroyo.ext.ti.com ([198.47.19.12]:48836 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750964AbcH3Esk (ORCPT ); Tue, 30 Aug 2016 00:48:40 -0400 Subject: Re: [PATCH] pwm: pwm-tipwmss: Remove all pm_runtime gets and puts from the driver To: Thierry Reding References: <20160808100915.30149-1-vigneshr@ti.com> CC: Jyri Sarha , Dave Gerlach , , , From: Vignesh R Message-ID: <5ec09503-e180-7b6a-b724-a80693896ab2@ti.com> Date: Tue, 30 Aug 2016 10:18:35 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160808100915.30149-1-vigneshr@ti.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday 08 August 2016 03:39 PM, Vignesh R wrote: > From: Jyri Sarha > > Remove all pm_runtime gets and puts, and dummy pm_ops, from the > pwm-tipwmss driver as there is no direct hardware access. The runtime PM > needs to be enabled, so that the runtime PM framework takes care of > enabling/disabling of PWMSS clock when submodules of PWMSS (ECAP or > EHRPWM) call pm_runtime APIs. With this change PWMSS clock goes to > idle when none of the submodules are in use. > > Signed-off-by: Jyri Sarha > Signed-off-by: Vignesh R > --- Gentle ping.... > drivers/pwm/pwm-tipwmss.c | 19 ------------------- > 1 file changed, 19 deletions(-) > > diff --git a/drivers/pwm/pwm-tipwmss.c b/drivers/pwm/pwm-tipwmss.c > index 829f4991c96f..7fa85a1604da 100644 > --- a/drivers/pwm/pwm-tipwmss.c > +++ b/drivers/pwm/pwm-tipwmss.c > @@ -34,7 +34,6 @@ static int pwmss_probe(struct platform_device *pdev) > struct device_node *node = pdev->dev.of_node; > > pm_runtime_enable(&pdev->dev); > - pm_runtime_get_sync(&pdev->dev); > > /* Populate all the child nodes here... */ > ret = of_platform_populate(node, NULL, NULL, &pdev->dev); > @@ -46,31 +45,13 @@ static int pwmss_probe(struct platform_device *pdev) > > static int pwmss_remove(struct platform_device *pdev) > { > - pm_runtime_put_sync(&pdev->dev); > pm_runtime_disable(&pdev->dev); > return 0; > } > > -#ifdef CONFIG_PM_SLEEP > -static int pwmss_suspend(struct device *dev) > -{ > - pm_runtime_put_sync(dev); > - return 0; > -} > - > -static int pwmss_resume(struct device *dev) > -{ > - pm_runtime_get_sync(dev); > - return 0; > -} > -#endif > - > -static SIMPLE_DEV_PM_OPS(pwmss_pm_ops, pwmss_suspend, pwmss_resume); > - > static struct platform_driver pwmss_driver = { > .driver = { > .name = "pwmss", > - .pm = &pwmss_pm_ops, > .of_match_table = pwmss_of_match, > }, > .probe = pwmss_probe, > -- Regards Vignesh