Message ID | 20200413123207.74552-1-paul@crapouillou.net (mailing list archive) |
---|---|
State | RFC |
Headers | show |
Series | [v2,1/3] PM: introduce pm_ptr() macro | expand |
On Monday, April 13, 2020 2:32:05 PM CEST Paul Cercueil wrote: > This macro is analogous to the infamous of_match_ptr(). If CONFIG_PM > is enabled, this macro will resolve to its argument, otherwise to NULL. Well, this is going to result in quite a bit of unused code being added to the kernels built with CONFIG_PM unset. Is there any way to avoid that somehow? > Signed-off-by: Paul Cercueil <paul@crapouillou.net> > --- > > Notes: > v2: Remove pm_sleep_ptr() macro > > include/linux/pm.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/linux/pm.h b/include/linux/pm.h > index e057d1fa2469..1c0eec06905d 100644 > --- a/include/linux/pm.h > +++ b/include/linux/pm.h > @@ -374,6 +374,12 @@ const struct dev_pm_ops name = { \ > SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ > } > > +#ifdef CONFIG_PM > +#define pm_ptr(_ptr) (_ptr) > +#else > +#define pm_ptr(_ptr) NULL > +#endif > + > /* > * PM_EVENT_ messages > * >
Hi Rafael, Le dim. 26 avril 2020 à 17:40, Rafael J. Wysocki <rjw@rjwysocki.net> a écrit : > On Monday, April 13, 2020 2:32:05 PM CEST Paul Cercueil wrote: >> This macro is analogous to the infamous of_match_ptr(). If CONFIG_PM >> is enabled, this macro will resolve to its argument, otherwise to >> NULL. > > Well, this is going to result in quite a bit of unused code being > added to the kernels built with CONFIG_PM unset. > > Is there any way to avoid that somehow? Using __maybe_unused on the dev_pm_ops struct and the callbacks, as long as they are static, they should be dropped by the compiler when CONFIG_PM is not set. -Paul > >> Signed-off-by: Paul Cercueil <paul@crapouillou.net> >> --- >> >> Notes: >> v2: Remove pm_sleep_ptr() macro >> >> include/linux/pm.h | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/include/linux/pm.h b/include/linux/pm.h >> index e057d1fa2469..1c0eec06905d 100644 >> --- a/include/linux/pm.h >> +++ b/include/linux/pm.h >> @@ -374,6 +374,12 @@ const struct dev_pm_ops name = { \ >> SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ >> } >> >> +#ifdef CONFIG_PM >> +#define pm_ptr(_ptr) (_ptr) >> +#else >> +#define pm_ptr(_ptr) NULL >> +#endif >> + >> /* >> * PM_EVENT_ messages >> * >> > > > >
diff --git a/include/linux/pm.h b/include/linux/pm.h index e057d1fa2469..1c0eec06905d 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -374,6 +374,12 @@ const struct dev_pm_ops name = { \ SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ } +#ifdef CONFIG_PM +#define pm_ptr(_ptr) (_ptr) +#else +#define pm_ptr(_ptr) NULL +#endif + /* * PM_EVENT_ messages *
This macro is analogous to the infamous of_match_ptr(). If CONFIG_PM is enabled, this macro will resolve to its argument, otherwise to NULL. Signed-off-by: Paul Cercueil <paul@crapouillou.net> --- Notes: v2: Remove pm_sleep_ptr() macro include/linux/pm.h | 6 ++++++ 1 file changed, 6 insertions(+)