Message ID | 20200403205133.1101808-1-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Daniel Lezcano |
Headers | show |
Series | thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n | expand |
Am 03.04.20 um 22:51 schrieb Martin Blumenstingl: > When CONFIG_DEVFREQ_THERMAL is disabled all functions except > of_devfreq_cooling_register_power() were already inlined. Also inline > the last function to avoid compile errors when multiple drivers call > of_devfreq_cooling_register_power() when CONFIG_DEVFREQ_THERMAL is not > set. Compilation failed with the following message: > multiple definition of `of_devfreq_cooling_register_power' > (which then lists all usages of of_devfreq_cooling_register_power()) > > Thomas Zimmermann reported this problem [0] on a kernel config with > CONFIG_DRM_LIMA={m,y}, CONFIG_DRM_PANFROST={m,y} and > CONFIG_DEVFREQ_THERMAL=n after both, the lima and panfrost drivers > gained devfreq cooling support. > > [0] https://www.spinics.net/lists/dri-devel/msg252825.html > > Fixes: a76caf55e5b356 ("thermal: Add devfreq cooling") > Cc: stable@vger.kernel.org > Reported-by: Thomas Zimmermann <tzimmermann@suse.de> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Tested-by: Thomas Zimmermann <tzimmermann@suse.de> > --- > include/linux/devfreq_cooling.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/devfreq_cooling.h b/include/linux/devfreq_cooling.h > index 4635f95000a4..79a6e37a1d6f 100644 > --- a/include/linux/devfreq_cooling.h > +++ b/include/linux/devfreq_cooling.h > @@ -75,7 +75,7 @@ void devfreq_cooling_unregister(struct thermal_cooling_device *dfc); > > #else /* !CONFIG_DEVFREQ_THERMAL */ > > -struct thermal_cooling_device * > +static inline struct thermal_cooling_device * > of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df, > struct devfreq_cooling_power *dfc_power) > { >
diff --git a/include/linux/devfreq_cooling.h b/include/linux/devfreq_cooling.h index 4635f95000a4..79a6e37a1d6f 100644 --- a/include/linux/devfreq_cooling.h +++ b/include/linux/devfreq_cooling.h @@ -75,7 +75,7 @@ void devfreq_cooling_unregister(struct thermal_cooling_device *dfc); #else /* !CONFIG_DEVFREQ_THERMAL */ -struct thermal_cooling_device * +static inline struct thermal_cooling_device * of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df, struct devfreq_cooling_power *dfc_power) {
When CONFIG_DEVFREQ_THERMAL is disabled all functions except of_devfreq_cooling_register_power() were already inlined. Also inline the last function to avoid compile errors when multiple drivers call of_devfreq_cooling_register_power() when CONFIG_DEVFREQ_THERMAL is not set. Compilation failed with the following message: multiple definition of `of_devfreq_cooling_register_power' (which then lists all usages of of_devfreq_cooling_register_power()) Thomas Zimmermann reported this problem [0] on a kernel config with CONFIG_DRM_LIMA={m,y}, CONFIG_DRM_PANFROST={m,y} and CONFIG_DEVFREQ_THERMAL=n after both, the lima and panfrost drivers gained devfreq cooling support. [0] https://www.spinics.net/lists/dri-devel/msg252825.html Fixes: a76caf55e5b356 ("thermal: Add devfreq cooling") Cc: stable@vger.kernel.org Reported-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> --- include/linux/devfreq_cooling.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)