thermal: fix thermal_cooling_device_register() prototype

Message ID 20210722090717.1116748-1-arnd@kernel.org
State New
Headers show
Series
  • thermal: fix thermal_cooling_device_register() prototype
Related show

Commit Message

Arnd Bergmann July 22, 2021, 9:06 a.m.
From: Arnd Bergmann <arnd@arndb.de>


There are two pairs of declarations for thermal_cooling_device_register()
and thermal_of_cooling_device_register(), and only one set was changed
in a recent patch, so the other one now causes a compile-time warning:

drivers/net/wireless/mediatek/mt76/mt7915/init.c: In function 'mt7915_thermal_init':
drivers/net/wireless/mediatek/mt76/mt7915/init.c:134:48: error: passing argument 1 of 'thermal_cooling_device_register' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
  134 |         cdev = thermal_cooling_device_register(wiphy_name(wiphy), phy,
      |                                                ^~~~~~~~~~~~~~~~~
In file included from drivers/net/wireless/mediatek/mt76/mt7915/init.c:7:
include/linux/thermal.h:407:39: note: expected 'char *' but argument is of type 'const char *'
  407 | thermal_cooling_device_register(char *type, void *devdata,
      |                                 ~~~~~~^~~~

Change the dummy helper functions to have the same arguments as the
normal version.

Fixes: f991de53a8ab ("thermal: make device_register's type argument const")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 include/linux/thermal.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.29.2

Comments

Jean-Fran├žois Dagenais July 26, 2021, 2 p.m. | #1
Good job.

> On Jul 22, 2021, at 05:06, Arnd Bergmann <arnd@kernel.org> wrote:

> 

> From: Arnd Bergmann <arnd@arndb.de>

> 

> There are two pairs of declarations for thermal_cooling_device_register()

> and thermal_of_cooling_device_register(), and only one set was changed

> in a recent patch, so the other one now causes a compile-time warning:

> 

> drivers/net/wireless/mediatek/mt76/mt7915/init.c: In function 'mt7915_thermal_init':

> drivers/net/wireless/mediatek/mt76/mt7915/init.c:134:48: error: passing argument 1 of 'thermal_cooling_device_register' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]

>  134 |         cdev = thermal_cooling_device_register(wiphy_name(wiphy), phy,

>      |                                                ^~~~~~~~~~~~~~~~~

> In file included from drivers/net/wireless/mediatek/mt76/mt7915/init.c:7:

> include/linux/thermal.h:407:39: note: expected 'char *' but argument is of type 'const char *'

>  407 | thermal_cooling_device_register(char *type, void *devdata,

>      |                                 ~~~~~~^~~~

> 

> Change the dummy helper functions to have the same arguments as the

> normal version.

> 

> Fixes: f991de53a8ab ("thermal: make device_register's type argument const")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com>

> ---

> include/linux/thermal.h | 5 +++--

> 1 file changed, 3 insertions(+), 2 deletions(-)

> 

> diff --git a/include/linux/thermal.h b/include/linux/thermal.h

> index d296f3b88fb9..8050d929a5b4 100644

> --- a/include/linux/thermal.h

> +++ b/include/linux/thermal.h

> @@ -404,12 +404,13 @@ static inline void thermal_zone_device_unregister(

> 	struct thermal_zone_device *tz)

> { }

> static inline struct thermal_cooling_device *

> -thermal_cooling_device_register(char *type, void *devdata,

> +thermal_cooling_device_register(const char *type, void *devdata,

> 	const struct thermal_cooling_device_ops *ops)

> { return ERR_PTR(-ENODEV); }

> static inline struct thermal_cooling_device *

> thermal_of_cooling_device_register(struct device_node *np,

> -	char *type, void *devdata, const struct thermal_cooling_device_ops *ops)

> +	const char *type, void *devdata,

> +	const struct thermal_cooling_device_ops *ops)

> { return ERR_PTR(-ENODEV); }

> static inline struct thermal_cooling_device *

> devm_thermal_of_cooling_device_register(struct device *dev,

> -- 

> 2.29.2

>

Patch

diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index d296f3b88fb9..8050d929a5b4 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -404,12 +404,13 @@  static inline void thermal_zone_device_unregister(
 	struct thermal_zone_device *tz)
 { }
 static inline struct thermal_cooling_device *
-thermal_cooling_device_register(char *type, void *devdata,
+thermal_cooling_device_register(const char *type, void *devdata,
 	const struct thermal_cooling_device_ops *ops)
 { return ERR_PTR(-ENODEV); }
 static inline struct thermal_cooling_device *
 thermal_of_cooling_device_register(struct device_node *np,
-	char *type, void *devdata, const struct thermal_cooling_device_ops *ops)
+	const char *type, void *devdata,
+	const struct thermal_cooling_device_ops *ops)
 { return ERR_PTR(-ENODEV); }
 static inline struct thermal_cooling_device *
 devm_thermal_of_cooling_device_register(struct device *dev,