Re: [PATCH 1/2] thermal: core: constify params in thermal_zone_device_register

From: Rafael J. Wysocki
Date: Mon Jul 10 2023 - 13:33:24 EST


On Sat, Jul 8, 2023 at 1:27 PM Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> wrote:
>
> Since commit 3d439b1a2ad3 ("thermal/core: Alloc-copy-free the thermal zone
> parameters structure"), thermal_zone_device_register() allocates a copy
> of the tzp argument and callers need not explicitly manage its lifetime.
>
> This means the function no longer cares about the parameter being
> mutable, so constify it.
>
> No functional change.
>
> Fixes: 3d439b1a2ad3 ("thermal/core: Alloc-copy-free the thermal zone parameters structure")

Why is this particular patch regarded as a fix?

> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx>
> ---
> drivers/thermal/thermal_core.c | 4 ++--
> include/linux/thermal.h | 6 +++---
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index 842f678c1c3e..cc2b5e81c620 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -1203,7 +1203,7 @@ EXPORT_SYMBOL_GPL(thermal_zone_get_crit_temp);
> struct thermal_zone_device *
> thermal_zone_device_register_with_trips(const char *type, struct thermal_trip *trips, int num_trips, int mask,
> void *devdata, struct thermal_zone_device_ops *ops,
> - struct thermal_zone_params *tzp, int passive_delay,
> + const struct thermal_zone_params *tzp, int passive_delay,
> int polling_delay)
> {
> struct thermal_zone_device *tz;
> @@ -1371,7 +1371,7 @@ EXPORT_SYMBOL_GPL(thermal_zone_device_register_with_trips);
>
> struct thermal_zone_device *thermal_zone_device_register(const char *type, int ntrips, int mask,
> void *devdata, struct thermal_zone_device_ops *ops,
> - struct thermal_zone_params *tzp, int passive_delay,
> + const struct thermal_zone_params *tzp, int passive_delay,
> int polling_delay)
> {
> return thermal_zone_device_register_with_trips(type, NULL, ntrips, mask,
> diff --git a/include/linux/thermal.h b/include/linux/thermal.h
> index 87837094d549..dee66ade89a0 100644
> --- a/include/linux/thermal.h
> +++ b/include/linux/thermal.h
> @@ -301,14 +301,14 @@ int thermal_acpi_critical_trip_temp(struct acpi_device *adev, int *ret_temp);
> #ifdef CONFIG_THERMAL
> struct thermal_zone_device *thermal_zone_device_register(const char *, int, int,
> void *, struct thermal_zone_device_ops *,
> - struct thermal_zone_params *, int, int);
> + const struct thermal_zone_params *, int, int);
>
> void thermal_zone_device_unregister(struct thermal_zone_device *);
>
> struct thermal_zone_device *
> thermal_zone_device_register_with_trips(const char *, struct thermal_trip *, int, int,
> void *, struct thermal_zone_device_ops *,
> - struct thermal_zone_params *, int, int);
> + const struct thermal_zone_params *, int, int);
>
> void *thermal_zone_device_priv(struct thermal_zone_device *tzd);
> const char *thermal_zone_device_type(struct thermal_zone_device *tzd);
> @@ -348,7 +348,7 @@ void thermal_zone_device_critical(struct thermal_zone_device *tz);
> static inline struct thermal_zone_device *thermal_zone_device_register(
> const char *type, int trips, int mask, void *devdata,
> struct thermal_zone_device_ops *ops,
> - struct thermal_zone_params *tzp,
> + const struct thermal_zone_params *tzp,
> int passive_delay, int polling_delay)
> { return ERR_PTR(-ENODEV); }
> static inline void thermal_zone_device_unregister(
> --
> 2.39.2
>