2021-01-18 17:45:28

by Daniel Lezcano

[permalink] [raw]
Subject: [PATCH v2] thermal/core: Make cooling device state change private

The change of the cooling device state should be used by the governor
or at least by the core code, not by the drivers themselves.

Remove the API usage and move the function declaration to the internal
headers.

Signed-off-by: Daniel Lezcano <[email protected]>
Acked-by: Guenter Roeck <[email protected]>
---
drivers/hwmon/pwm-fan.c | 1 -
drivers/thermal/khadas_mcu_fan.c | 1 -
drivers/thermal/thermal_core.h | 2 ++
include/linux/thermal.h | 3 ---
4 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c
index bdba2143021a..0b1159ceac9b 100644
--- a/drivers/hwmon/pwm-fan.c
+++ b/drivers/hwmon/pwm-fan.c
@@ -378,7 +378,6 @@ static int pwm_fan_probe(struct platform_device *pdev)
return ret;
}
ctx->cdev = cdev;
- thermal_cdev_update(cdev);
}

return 0;
diff --git a/drivers/thermal/khadas_mcu_fan.c b/drivers/thermal/khadas_mcu_fan.c
index 9eadd2d6413e..d35e5313bea4 100644
--- a/drivers/thermal/khadas_mcu_fan.c
+++ b/drivers/thermal/khadas_mcu_fan.c
@@ -100,7 +100,6 @@ static int khadas_mcu_fan_probe(struct platform_device *pdev)
return ret;
}
ctx->cdev = cdev;
- thermal_cdev_update(cdev);

return 0;
}
diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h
index 90f9a80c8b23..86b8cef7310e 100644
--- a/drivers/thermal/thermal_core.h
+++ b/drivers/thermal/thermal_core.h
@@ -65,6 +65,8 @@ static inline bool cdev_is_power_actor(struct thermal_cooling_device *cdev)
cdev->ops->power2state;
}

+void thermal_cdev_update(struct thermal_cooling_device *);
+
/**
* struct thermal_trip - representation of a point in temperature domain
* @np: pointer to struct device_node that this trip point was created from
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index 1e686404951b..6ac7bb1d2b1f 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -390,7 +390,6 @@ int thermal_zone_get_temp(struct thermal_zone_device *tz, int *temp);
int thermal_zone_get_slope(struct thermal_zone_device *tz);
int thermal_zone_get_offset(struct thermal_zone_device *tz);

-void thermal_cdev_update(struct thermal_cooling_device *);
void thermal_notify_framework(struct thermal_zone_device *, int);
int thermal_zone_device_enable(struct thermal_zone_device *tz);
int thermal_zone_device_disable(struct thermal_zone_device *tz);
@@ -437,8 +436,6 @@ static inline int thermal_zone_get_offset(
struct thermal_zone_device *tz)
{ return -ENODEV; }

-static inline void thermal_cdev_update(struct thermal_cooling_device *cdev)
-{ }
static inline void thermal_notify_framework(struct thermal_zone_device *tz,
int trip)
{ }
--
2.17.1


2021-01-19 05:41:44

by Zhang, Rui

[permalink] [raw]
Subject: RE: [PATCH v2] thermal/core: Make cooling device state change private



> -----Original Message-----
> From: Daniel Lezcano <[email protected]>
> Sent: Tuesday, January 19, 2021 1:38 AM
> To: [email protected]; Zhang, Rui <[email protected]>
> Cc: Guenter Roeck <[email protected]>; Kamil Debski <[email protected]>;
> Bartlomiej Zolnierkiewicz <[email protected]>; Jean Delvare
> <[email protected]>; Neil Armstrong <[email protected]>; Amit
> Kucheria <[email protected]>; open list:PWM FAN DRIVER <linux-
> [email protected]>; open list <[email protected]>; open
> list:KHADAS MCU MFD DRIVER <[email protected]>; open
> list:THERMAL <[email protected]>
> Subject: [PATCH v2] thermal/core: Make cooling device state change private
> Importance: High
>
> The change of the cooling device state should be used by the governor or at
> least by the core code, not by the drivers themselves.
>
> Remove the API usage and move the function declaration to the internal
> headers.
>
> Signed-off-by: Daniel Lezcano <[email protected]>
> Acked-by: Guenter Roeck <[email protected]>

Acked-by: Zhang Rui <[email protected]>

Thanks,
rui
> ---
> drivers/hwmon/pwm-fan.c | 1 -
> drivers/thermal/khadas_mcu_fan.c | 1 -
> drivers/thermal/thermal_core.h | 2 ++
> include/linux/thermal.h | 3 ---
> 4 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c index
> bdba2143021a..0b1159ceac9b 100644
> --- a/drivers/hwmon/pwm-fan.c
> +++ b/drivers/hwmon/pwm-fan.c
> @@ -378,7 +378,6 @@ static int pwm_fan_probe(struct platform_device
> *pdev)
> return ret;
> }
> ctx->cdev = cdev;
> - thermal_cdev_update(cdev);
> }
>
> return 0;
> diff --git a/drivers/thermal/khadas_mcu_fan.c
> b/drivers/thermal/khadas_mcu_fan.c
> index 9eadd2d6413e..d35e5313bea4 100644
> --- a/drivers/thermal/khadas_mcu_fan.c
> +++ b/drivers/thermal/khadas_mcu_fan.c
> @@ -100,7 +100,6 @@ static int khadas_mcu_fan_probe(struct
> platform_device *pdev)
> return ret;
> }
> ctx->cdev = cdev;
> - thermal_cdev_update(cdev);
>
> return 0;
> }
> diff --git a/drivers/thermal/thermal_core.h
> b/drivers/thermal/thermal_core.h index 90f9a80c8b23..86b8cef7310e 100644
> --- a/drivers/thermal/thermal_core.h
> +++ b/drivers/thermal/thermal_core.h
> @@ -65,6 +65,8 @@ static inline bool cdev_is_power_actor(struct
> thermal_cooling_device *cdev)
> cdev->ops->power2state;
> }
>
> +void thermal_cdev_update(struct thermal_cooling_device *);
> +
> /**
> * struct thermal_trip - representation of a point in temperature domain
> * @np: pointer to struct device_node that this trip point was created from
> diff --git a/include/linux/thermal.h b/include/linux/thermal.h index
> 1e686404951b..6ac7bb1d2b1f 100644
> --- a/include/linux/thermal.h
> +++ b/include/linux/thermal.h
> @@ -390,7 +390,6 @@ int thermal_zone_get_temp(struct
> thermal_zone_device *tz, int *temp); int thermal_zone_get_slope(struct
> thermal_zone_device *tz); int thermal_zone_get_offset(struct
> thermal_zone_device *tz);
>
> -void thermal_cdev_update(struct thermal_cooling_device *); void
> thermal_notify_framework(struct thermal_zone_device *, int); int
> thermal_zone_device_enable(struct thermal_zone_device *tz); int
> thermal_zone_device_disable(struct thermal_zone_device *tz); @@ -437,8
> +436,6 @@ static inline int thermal_zone_get_offset(
> struct thermal_zone_device *tz)
> { return -ENODEV; }
>
> -static inline void thermal_cdev_update(struct thermal_cooling_device
> *cdev) -{ } static inline void thermal_notify_framework(struct
> thermal_zone_device *tz,
> int trip)
> { }
> --
> 2.17.1