[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <43b1c2fd-b746-84eb-c82b-23f1bd39242e@linaro.org>
Date: Sun, 26 Jun 2022 19:33:06 +0200
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: "Rafael J. Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...exp.org>
Cc: Kevin Hilman <khilman@...libre.com>,
Alexandre Bailon <abailon@...libre.com>,
Linux PM <linux-pm@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Amit Kucheria <amitk@...nel.org>,
Zhang Rui <rui.zhang@...el.com>,
Jonathan Corbet <corbet@....net>, Len Brown <lenb@...nel.org>,
Raju Rangoju <rajur@...lsio.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Ido Schimmel <idosch@...dia.com>,
Petr Machata <petrm@...dia.com>,
Luca Coelho <luciano.coelho@...el.com>,
Kalle Valo <kvalo@...nel.org>, Peter Kaestle <peter@...e.net>,
Hans de Goede <hdegoede@...hat.com>,
Mark Gross <markgross@...nel.org>,
Sebastian Reichel <sre@...nel.org>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Support Opensource <support.opensource@...semi.com>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
NXP Linux Team <linux-imx@....com>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
Miri Korenblit <miriam.rachel.korenblit@...el.com>,
Johannes Berg <johannes.berg@...el.com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Sumeet Pawnikar <sumeet.r.pawnikar@...el.com>,
Dan Carpenter <dan.carpenter@...cle.com>,
Chuansheng Liu <chuansheng.liu@...el.com>,
Jiasheng Jiang <jiasheng@...as.ac.cn>,
Antoine Tenart <atenart@...nel.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
"open list:ACPI THERMAL DRIVER" <linux-acpi@...r.kernel.org>,
"open list:CXGB4 ETHERNET DRIVER (CXGB4)" <netdev@...r.kernel.org>,
"open list:INTEL WIRELESS WIFI LINK (iwlwifi)"
<linux-wireless@...r.kernel.org>,
"open list:ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER"
<platform-driver-x86@...r.kernel.org>,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<linux-arm-kernel@...ts.infradead.org>,
"open list:RENESAS R-CAR THERMAL DRIVERS"
<linux-renesas-soc@...r.kernel.org>
Subject: Re: [PATCH v2 01/14] thermal/core: Change thermal_zone_ops to
thermal_sensor_ops
Hi Rafael,
sorry for the delay, I was OoO.
On 17/05/2022 17:42, Rafael J. Wysocki wrote:
> On Sat, May 7, 2022 at 2:55 PM Daniel Lezcano <daniel.lezcano@...exp.org> wrote:
>>
>> A thermal zone is software abstraction of a sensor associated with
>> properties and cooling devices if any.
>>
>> The fact that we have thermal_zone and thermal_zone_ops mixed is
>> confusing and does not clearly identify the different components
>> entering in the thermal management process. A thermal zone appears to
>> be a sensor while it is not.
>
> Well, the majority of the operations in thermal_zone_ops don't apply
> to thermal sensors. For example, ->set_trips(), ->get_trip_type(),
> ->get_trip_temp().
The set_trips is necessary to set the sensor interrupt to fire when the
trip temperature is crossed the way up or down.
>> In order to set the scene for multiple thermal sensors aggregated into
>> a single thermal zone. Rename the thermal_zone_ops to
>> thermal_sensor_ops, that will appear clearyl the thermal zone is not a
>> sensor but an abstraction of one [or multiple] sensor(s).
>
> So I'm not convinced that the renaming mentioned above is particularly
> clean either.
>
> IMV the way to go would be to split the thermal sensor operations,
> like ->get_temp(), out of thermal_zone_ops.
Probably, we should first replace all the calls to ops->get_temp with a
function. Then create the ops for the sensor:
- get_trend
- get_temp
- set_trips
- bind / unbind
> But then it is not clear what a thermal zone with multiple sensors in
> it really means. I guess it would require an aggregation function to
> combine the thermal sensors in it that would produce an effective
> temperature to check against the trip points.
Yes, that is why the above ops->get_temp should be wrapped into a
function which can evolve to an aggregation function.
> Honestly, I don't think that setting a separate set of trips for each
> sensor in a thermal zone would make a lot of sense.
I agree the set_trips is for the interrupt mode only.
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
Powered by blists - more mailing lists