[PATCH v3] thermal: tango: add resume support

Arnd Bergmann arnd at arndb.de
Tue Jul 26 05:13:07 PDT 2016


On Monday, July 25, 2016 11:48:47 AM CEST Mason wrote:
> On 25/07/2016 10:52, Arnd Bergmann wrote:
> 
> > On Monday, July 25, 2016 10:18:22 AM CEST Mason wrote:
> > 
> >> Moving the SIMPLE_DEV_PM_OPS macro outside the CONFIG_PM_SLEEP guard
> >> would unconditionally define a struct dev_pm_ops, which just wastes
> >> space when CONFIG_PM_SLEEP is undefined (if I'm not mistaken).
> >>
> >> That's why I put SIMPLE_DEV_PM_OPS inside the CONFIG_PM_SLEEP guard.
> > 
> > If you want to avoid the extra few bytes, just use the trick I
> > suggested:
> > 
> >       .pm = IS_ENABLED(CONFIG_PM_SLEEP) ? &tango_thermal_pm : NULL,
> 
> This would achieve the same result as the solution I proposed
> in my v2 patch, right?
> 
> So you're saying you prefer the IS_ENABLED macro over using
> #ifdef ... #else define stuff as NULL #endif
> 
> Did I get that right?

Yes, but I'd also prefer not to hide the operations structure
at all and just rely on the __maybe_unused (ideally) or
#ifdef (not as good, but commonly used) to leave out the
functions.

> Eduardo, Zhang, what do thermal maintainers prefer?
> 
> > You should basically never have that #ifdef inside of the
> > platform_driver definition.
> 
> Except when the fields don't exist, like the bug I introduced
> in struct smp_operations (which you fixed).

Right.

	Arnd



More information about the linux-arm-kernel mailing list