Message ID | 20230918080951.3615-3-raag.jadav@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Fix symbol export for _SIMPLE_ variants of _PM_OPS() | expand |
Hi Raag, Le lundi 18 septembre 2023 à 13:39 +0530, Raag Jadav a écrit : > Rename EXPORT_*_DEV_PM_OPS() macros to EXPORT_*_RUNTIME_PM_OPS() > and while at it, move them to pm_runtime.h. > This is done in conjunction with the introduction of > EXPORT_*_SIMPLE_PM_OPS() set of macros, to make things less > confusing. > This makes both _RUNTIME_ and _SIMPLE_ variants of export macros more > distinguishable and self explanatory. Well I don't really agree with this one. The EXPORT_*_DEV_PM_OPS() can be used with any callback you need, not just the typical runtime-PM callbacks. They are generic PM macros. Cheers, -Paul > > Signed-off-by: Raag Jadav <raag.jadav@intel.com> > --- > include/linux/pm.h | 5 ----- > include/linux/pm_runtime.h | 13 +++++++++---- > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/include/linux/pm.h b/include/linux/pm.h > index 6e7ab6950ad1..9ab051f3a351 100644 > --- a/include/linux/pm.h > +++ b/include/linux/pm.h > @@ -398,11 +398,6 @@ const struct dev_pm_ops name = { \ > #define _EXPORT_SIMPLE_PM_OPS(name, license, ns) _PM_OPS(name, > license, ns) > #endif > > -#define > EXPORT_DEV_PM_OPS(name) _EXPORT_RUNTIM > E_PM_OPS(name, "", "") > -#define > EXPORT_GPL_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS > (name, "GPL", "") > -#define EXPORT_NS_DEV_PM_OPS(name, > ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns) > -#define EXPORT_NS_GPL_DEV_PM_OPS(name, > ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns) > - > #define > EXPORT_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS( > name, "", "") > #define > EXPORT_GPL_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS( > name, "GPL", "") > #define EXPORT_NS_SIMPLE_PM_OPS(name, > ns) _EXPORT_SIMPLE_PM_OPS(name, "", #ns) > diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h > index 7c9b35448563..0b73b00bd59f 100644 > --- a/include/linux/pm_runtime.h > +++ b/include/linux/pm_runtime.h > @@ -22,6 +22,11 @@ > usage_count */ > #define RPM_AUTO 0x08 /* Use autosuspend_delay */ > > +#define > EXPORT_RUNTIME_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS > (name, "", "") > +#define > EXPORT_GPL_RUNTIME_PM_OPS(name) _EXPORT_RUNTIM > E_PM_OPS(name, "GPL", "") > +#define EXPORT_NS_RUNTIME_PM_OPS(name, > ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns) > +#define EXPORT_NS_GPL_RUNTIME_PM_OPS(name, > ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns) > + > /* > * Use this for defining a set of PM operations to be used in all > situations > * (system suspend, hibernation or runtime PM). > @@ -40,19 +45,19 @@ > resume_fn, idle_fn) > > #define EXPORT_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, > idle_fn) \ > - EXPORT_DEV_PM_OPS(name) = { \ > + EXPORT_RUNTIME_PM_OPS(name) = { \ > RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ > } > #define EXPORT_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, > idle_fn) \ > - EXPORT_GPL_DEV_PM_OPS(name) = { \ > + EXPORT_GPL_RUNTIME_PM_OPS(name) = { \ > RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ > } > #define EXPORT_NS_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, > idle_fn, ns) \ > - EXPORT_NS_DEV_PM_OPS(name, ns) = { \ > + EXPORT_NS_RUNTIME_PM_OPS(name, ns) = { \ > RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ > } > #define EXPORT_NS_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn, > resume_fn, idle_fn, ns) \ > - EXPORT_NS_GPL_DEV_PM_OPS(name, ns) = { \ > + EXPORT_NS_GPL_RUNTIME_PM_OPS(name, ns) = { \ > RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ > } >
On Mon, Sep 18, 2023 at 10:20:29AM +0200, Paul Cercueil wrote: > Le lundi 18 septembre 2023 à 13:39 +0530, Raag Jadav a écrit : > > Rename EXPORT_*_DEV_PM_OPS() macros to EXPORT_*_RUNTIME_PM_OPS() > > and while at it, move them to pm_runtime.h. > > This is done in conjunction with the introduction of > > EXPORT_*_SIMPLE_PM_OPS() set of macros, to make things less > > confusing. > > This makes both _RUNTIME_ and _SIMPLE_ variants of export macros more > > distinguishable and self explanatory. > > Well I don't really agree with this one. The EXPORT_*_DEV_PM_OPS() can > be used with any callback you need, not just the typical runtime-PM > callbacks. They are generic PM macros. I agree on the usage part. But with the introduction of export macros for _SIMPLE_ variants, current naming scheme would make things unnecessarily confusing to the users in my opinion. Perhaps we can have it simplified some other way? Raag
diff --git a/include/linux/pm.h b/include/linux/pm.h index 6e7ab6950ad1..9ab051f3a351 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -398,11 +398,6 @@ const struct dev_pm_ops name = { \ #define _EXPORT_SIMPLE_PM_OPS(name, license, ns) _PM_OPS(name, license, ns) #endif -#define EXPORT_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "", "") -#define EXPORT_GPL_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "GPL", "") -#define EXPORT_NS_DEV_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns) -#define EXPORT_NS_GPL_DEV_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns) - #define EXPORT_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(name, "", "") #define EXPORT_GPL_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(name, "GPL", "") #define EXPORT_NS_SIMPLE_PM_OPS(name, ns) _EXPORT_SIMPLE_PM_OPS(name, "", #ns) diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h index 7c9b35448563..0b73b00bd59f 100644 --- a/include/linux/pm_runtime.h +++ b/include/linux/pm_runtime.h @@ -22,6 +22,11 @@ usage_count */ #define RPM_AUTO 0x08 /* Use autosuspend_delay */ +#define EXPORT_RUNTIME_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "", "") +#define EXPORT_GPL_RUNTIME_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "GPL", "") +#define EXPORT_NS_RUNTIME_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns) +#define EXPORT_NS_GPL_RUNTIME_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns) + /* * Use this for defining a set of PM operations to be used in all situations * (system suspend, hibernation or runtime PM). @@ -40,19 +45,19 @@ resume_fn, idle_fn) #define EXPORT_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn) \ - EXPORT_DEV_PM_OPS(name) = { \ + EXPORT_RUNTIME_PM_OPS(name) = { \ RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ } #define EXPORT_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn) \ - EXPORT_GPL_DEV_PM_OPS(name) = { \ + EXPORT_GPL_RUNTIME_PM_OPS(name) = { \ RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ } #define EXPORT_NS_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn, ns) \ - EXPORT_NS_DEV_PM_OPS(name, ns) = { \ + EXPORT_NS_RUNTIME_PM_OPS(name, ns) = { \ RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ } #define EXPORT_NS_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn, ns) \ - EXPORT_NS_GPL_DEV_PM_OPS(name, ns) = { \ + EXPORT_NS_GPL_RUNTIME_PM_OPS(name, ns) = { \ RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \ }
Rename EXPORT_*_DEV_PM_OPS() macros to EXPORT_*_RUNTIME_PM_OPS() and while at it, move them to pm_runtime.h. This is done in conjunction with the introduction of EXPORT_*_SIMPLE_PM_OPS() set of macros, to make things less confusing. This makes both _RUNTIME_ and _SIMPLE_ variants of export macros more distinguishable and self explanatory. Signed-off-by: Raag Jadav <raag.jadav@intel.com> --- include/linux/pm.h | 5 ----- include/linux/pm_runtime.h | 13 +++++++++---- 2 files changed, 9 insertions(+), 9 deletions(-)