On Wed, Jan 13, 2016 at 04:00:43PM +0800, Wei Ni wrote: > Add suspend/resume function in soctherm driver. > And enable it for Tegra124 and Tegra210. > > Signed-off-by: Wei Ni <wni@xxxxxxxxxx> > --- > drivers/thermal/tegra/tegra124_soctherm.c | 9 ++ > drivers/thermal/tegra/tegra210_soctherm.c | 9 ++ > drivers/thermal/tegra/tegra_soctherm.c | 154 +++++++++++++++++++++--------- > drivers/thermal/tegra/tegra_soctherm.h | 5 + > 4 files changed, 130 insertions(+), 47 deletions(-) This all looks like it'd be a better candidate for runtime PM. The implementation would be mostly the same, except that you'd need to add a few more things to tegra_soctherm_probe() and use the runtime PM API to enable/disable the device (clocks, resets, ...). System sleep should then be taken care of automatically. Another comment irrespective of that... > diff --git a/drivers/thermal/tegra/tegra124_soctherm.c b/drivers/thermal/tegra/tegra124_soctherm.c > index 13d7f4e3a3d7..04cb419dbabc 100644 > --- a/drivers/thermal/tegra/tegra124_soctherm.c > +++ b/drivers/thermal/tegra/tegra124_soctherm.c > @@ -205,6 +205,14 @@ static const struct of_device_id tegra124_soctherm_of_match[] = { > }; > MODULE_DEVICE_TABLE(of, tegra_soctherm_of_match); > > +#ifdef CONFIG_PM_SLEEP > +static SIMPLE_DEV_PM_OPS(tegra124_soctherm_pm, > + soctherm_suspend, soctherm_resume); > +#define TEGRA124_SOC_THERM_PM (&tegra124_soctherm_pm) > +#else > +#define TEGRA124_SOC_THERM_PM NULL > +#endif I wouldn't bother with the #ifdef, just always define the structure. Thierry
Attachment:
signature.asc
Description: PGP signature