From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Hunter Subject: Re: [PATCH V4 4/4] pwm: tegra: Add support to configure pin state in suspends/resume Date: Thu, 6 Apr 2017 16:17:34 +0100 Message-ID: References: <1491488461-24621-1-git-send-email-ldewangan@nvidia.com> <1491488461-24621-5-git-send-email-ldewangan@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1491488461-24621-5-git-send-email-ldewangan@nvidia.com> Sender: linux-pwm-owner@vger.kernel.org To: Laxman Dewangan , thierry.reding@gmail.com, robh+dt@kernel.org Cc: mark.rutland@arm.com, linux-pwm@vger.kernel.org, devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: devicetree@vger.kernel.org On 06/04/17 15:21, Laxman Dewangan wrote: > In some of NVIDIA Tegra's platform, PWM controller is used to > control the PWM controlled regulators. PWM signal is connected to > the VID pin of the regulator where duty cycle of PWM signal decide > the voltage level of the regulator output. > > The tristate (high impedance of PWM pin form Tegra) also define > one of the state of PWM regulator which needs to be configure in > suspend state of system. > > Add support to configure the pin state via pinctrl frameworks in > suspend and active state of the system. > > Signed-off-by: Laxman Dewangan > --- > Changes from v1: > - Use standard pinctrl names for sleep and active state. > - Use API pinctrl_pm_select_*() > > drivers/pwm/pwm-tegra.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pwm/pwm-tegra.c > index e9c4de5..af1bd4f 100644 > --- a/drivers/pwm/pwm-tegra.c > +++ b/drivers/pwm/pwm-tegra.c > @@ -29,6 +29,7 @@ > #include > #include > #include > +#include > #include > #include > > @@ -256,6 +257,22 @@ static int tegra_pwm_remove(struct platform_device *pdev) > return pwmchip_remove(&pc->chip); > } > > +#ifdef CONFIG_PM_SLEEP > +static int tegra_pwm_suspend(struct device *dev) > +{ > + pinctrl_pm_select_sleep_state(dev); Why not return the error code here? > + > + return 0; > +} > + > +static int tegra_pwm_resume(struct device *dev) > +{ > + pinctrl_pm_select_default_state(dev); And here. By the way, do you plan to include patches to populate the bindings for the pwm devices? Cheers Jon -- nvpublic