thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
diff mbox series

Message ID 20200403205133.1101808-1-martin.blumenstingl@googlemail.com
State Accepted
Commit 3f5b9959041e0db6dacbea80bb833bff5900999f
Headers show
Series
  • thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
Related show

Commit Message

Martin Blumenstingl April 3, 2020, 8:51 p.m. UTC
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(-)

Comments

Thomas Zimmermann April 6, 2020, 11:10 a.m. UTC | #1
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)
>  {
>

Patch
diff mbox series

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)
 {