From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: rafael@kernel.org, daniel.lezcano@linaro.org
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Mark Brown <broonie@kernel.org>, Amit Kucheria <amitk@kernel.org>,
Zhang Rui <rui.zhang@intel.com>
Subject: [PATCH v5 01/18] thermal/core: Add a thermal zone 'devdata' accessor
Date: Wed, 1 Mar 2023 21:14:29 +0100 [thread overview]
Message-ID: <20230301201446.3713334-2-daniel.lezcano@linaro.org> (raw)
In-Reply-To: <20230301201446.3713334-1-daniel.lezcano@linaro.org>
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 <daniel.lezcano@linaro.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Mark Brown <broonie@kernel.org>
---
drivers/thermal/thermal_core.c | 6 ++++++
include/linux/thermal.h | 7 +++++++
2 files changed, 13 insertions(+)
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 0675df54c8e6..9fa12147fead 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1378,6 +1378,12 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type, int n
}
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
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index 2bb4bf33f4f3..7dbb5712434c 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -365,6 +365,8 @@ thermal_zone_device_register_with_trips(const char *, struct thermal_trip *, int
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,
@@ -436,6 +438,11 @@ static inline int thermal_zone_get_offset(
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; }
--
2.34.1
next prev parent reply other threads:[~2023-03-01 20:15 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-01 20:14 [PATCH v5 00/18] Self-encapsulate the thermal zone device structure Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano [this message]
2023-03-01 20:14 ` [PATCH v5 02/18] thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-03 11:28 ` Daniel Lezcano
2023-03-03 11:28 ` Daniel Lezcano
2023-03-03 11:55 ` Linus Walleij
2023-03-03 11:55 ` Linus Walleij
2023-03-03 15:47 ` Heiko Stübner
2023-03-03 15:47 ` Heiko Stübner
2023-03-03 16:21 ` Kunihiko Hayashi
2023-03-03 16:21 ` Kunihiko Hayashi
2023-03-01 20:14 ` [PATCH v5 03/18] thermal/core: Use the thermal zone 'devdata' accessor in hwmon " Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 04/18] thermal/core: Use the thermal zone 'devdata' accessor in remaining drivers Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 05/18] thermal/core: Show a debug message when get_temp() fails Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 06/18] thermal: Remove debug or error messages in get_temp() ops Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-03 15:47 ` Heiko Stübner
2023-03-03 15:47 ` Heiko Stübner
2023-03-03 15:47 ` Heiko Stübner
2023-03-01 20:14 ` [PATCH v5 07/18] thermal/hwmon: Do not set no_hwmon before calling thermal_add_hwmon_sysfs() Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-03 15:48 ` Heiko Stübner
2023-03-03 15:48 ` Heiko Stübner
2023-03-03 15:48 ` Heiko Stübner
2023-03-01 20:14 ` [PATCH v5 08/18] thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 09/18] thermal: Don't use 'device' internal thermal zone structure field Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 10/18] thermal/core: Add thermal_zone_device structure 'type' accessor Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 11/18] thermal/drivers/spear: Don't use tz->device but pdev->dev Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 12/18] thermal: Add a thermal zone id accessor Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 13/18] thermal: Use thermal_zone_device_type() accessor Daniel Lezcano
2023-03-01 20:14 ` Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 14/18] thermal/drivers/da9062: Don't access the thermal zone device fields Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 15/18] thermal/hwmon: Use the thermal_core.h header Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 16/18] thermal/drivers/tegra: Remove unneeded lock when setting a trip point Daniel Lezcano
2023-03-02 9:47 ` Thierry Reding
2023-03-02 10:00 ` Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 17/18] thermal/drivers/acerhdf: Make interval setting only at module load time Daniel Lezcano
2023-03-01 20:14 ` [PATCH v5 18/18] thermal/drivers/acerhdf: Remove pointless governor test Daniel Lezcano
2023-03-03 9:24 ` [PATCH v5 00/18] Self-encapsulate the thermal zone device structure Daniel Lezcano
2023-03-03 19:48 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230301201446.3713334-2-daniel.lezcano@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=amitk@kernel.org \
--cc=broonie@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=rui.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.