| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- From a6ff3c0021468721b96e84892a8cae24bde8d65f Mon Sep 17 00:00:00 2001
- From: Daniel Lezcano <[email protected]>
- Date: Wed, 1 Mar 2023 21:14:29 +0100
- Subject: [PATCH] thermal/core: Add a thermal zone 'devdata' accessor
- The thermal zone device structure is exposed to the different drivers
- and obviously they access the internals while that should be
- restricted to the core thermal code.
- In order to self-encapsulate the thermal core code, we need to prevent
- the drivers accessing directly the thermal zone structure and provide
- accessor functions to deal with.
- Provide an accessor to the 'devdata' structure and make use of it in
- the different drivers.
- No functional changes intended.
- Signed-off-by: Daniel Lezcano <[email protected]>
- Acked-by: Rafael J. Wysocki <[email protected]>
- Acked-by: Mark Brown <[email protected]>
- Signed-off-by: Rafael J. Wysocki <[email protected]>
- ---
- drivers/thermal/thermal_core.c | 6 ++++++
- include/linux/thermal.h | 7 +++++++
- 2 files changed, 13 insertions(+)
- --- a/drivers/thermal/thermal_core.c
- +++ b/drivers/thermal/thermal_core.c
- @@ -1346,6 +1346,12 @@ struct thermal_zone_device *thermal_zone
- }
- EXPORT_SYMBOL_GPL(thermal_zone_device_register);
-
- +void *thermal_zone_device_priv(struct thermal_zone_device *tzd)
- +{
- + return tzd->devdata;
- +}
- +EXPORT_SYMBOL_GPL(thermal_zone_device_priv);
- +
- /**
- * thermal_zone_device_unregister - removes the registered thermal zone device
- * @tz: the thermal zone device to remove
- --- a/include/linux/thermal.h
- +++ b/include/linux/thermal.h
- @@ -346,6 +346,8 @@ thermal_zone_device_register_with_trips(
- void *, struct thermal_zone_device_ops *,
- struct thermal_zone_params *, int, int);
-
- +void *thermal_zone_device_priv(struct thermal_zone_device *tzd);
- +
- int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int,
- struct thermal_cooling_device *,
- unsigned long, unsigned long,
- @@ -417,6 +419,11 @@ static inline int thermal_zone_get_offse
- struct thermal_zone_device *tz)
- { return -ENODEV; }
-
- +static inline void *thermal_zone_device_priv(struct thermal_zone_device *tz)
- +{
- + return NULL;
- +}
- +
- static inline int thermal_zone_device_enable(struct thermal_zone_device *tz)
- { return -ENODEV; }
-
|