ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Krzysztof Kozlowski <k.kozlowski@samsung.com>,
	Eduardo Valentin <edubezval@gmail.com>,
	ksummit-discuss@lists.linuxfoundation.org
Cc: Zhang Rui <rui.zhang@intel.com>, Jean Delvare <jdelvare@suse.com>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] [CORE TOPIC] The three ways of temperature sensing in Linux
Date: Tue, 25 Aug 2015 07:03:35 -0700	[thread overview]
Message-ID: <55DC75B7.2020806@roeck-us.net> (raw)
In-Reply-To: <55DC0AA3.6010801@samsung.com>

On 08/24/2015 11:26 PM, Krzysztof Kozlowski wrote:
> On 25.08.2015 15:12, Eduardo Valentin wrote:
>> Hi all,
>>
>> [Not sure if this is TECH or CORE, as it touches more than one
>> subsystem]
>>
>> Not sure how late it is to post this, but I am trying anyway.
>>
>> During LPC 2015 last week it came out the topic of the interaction
>> between the thermal subsystem with HWMON. On top of it, we also got a
>> proposal [1] of having thermal exposing its registered devices as IIO.
>>
>> I know the three subsystem coexist today for some years. They also have
>> their own design goals. However, the fact that we have three different
>> subsystems for doing very similar task may be confusing, for the driver
>> writer, and for user space too.
>>
>> Another aspect of it is the possible code duplication. For example, it
>> would interesting to get board temperature sensors, typically registered
>> as hwmon devices, to be available in the thermal subsystem while
>> constructing thermal zones out of them. Some user process would expect
>> the opposite though, to read the thermal zone sensors as hwmon devices,
>> or as IIO devices.
>
> I would rather expect using only one subsystem for exporting this
> information to user-space. If the susbsytem lacks some features then it
> could be expanded.
>
> Some power supply drivers (fuel gauges or chargers) also provide
> temperature data. They use the thermal for that. It would be weird to
> export them through IIO...
>

I agree, the current situation is less than optimal.

There are bridges from thermal and iio to hwmon, but they are not
perfect. Resulting hwmon device names are odd, and iio doesn't support
limits. The thermal-hwmon bridge only supports one trip point, and
it doesn't pass alarms.

Both the iio-hwmon and the thermal-hwmon bridge break the hwmon model
of reporting sensor data per chip, which makes it difficult to convert
drivers from hwmon to thermal (if that is suggested) without breaking
the userspace ABI.

At the same time, there is no bridge from the hwmon core to thermal.
Currently hwmon drivers supporting thermal register with both hwmon
and thermal, which is really undesirable. Implementing a hwmon-thermal
bridge in the hwmon core would require implementing a new hwmon registration
API. That is easier said then done, and would require more time than
at least I have available.

This, I think, is the core of the problem. Somehow would have to go in
and create that new hwmon registration API, if that is a solution
acceptable to the thermal maintainers. At the same time, the thermal-hwmon
bridge should be improved to export provide available information to hwmon.

An alternative would be for thermal to 'take over', convert all hwmon
drivers to thermal drivers, and retain a compatibility layer to provide
the data as hwmon device data to user space without breaking the existing
hwmon ABI. Again, someone would have to do that work.

Guenter

  reply	other threads:[~2015-08-25 14:03 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-25  6:12 Eduardo Valentin
2015-08-25  6:26 ` Krzysztof Kozlowski
2015-08-25 14:03   ` Guenter Roeck [this message]
2015-08-25 21:26     ` Eduardo Valentin
2015-08-25 21:13   ` Eduardo Valentin
2015-08-25 21:31 ` Heiko Stuebner
2015-08-25 23:55   ` Guenter Roeck
2015-08-26  0:12     ` Eduardo Valentin
2015-08-26  4:14       ` Guenter Roeck
2015-08-26  6:04       ` Jonathan Cameron

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=55DC75B7.2020806@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=edubezval@gmail.com \
    --cc=jdelvare@suse.com \
    --cc=k.kozlowski@samsung.com \
    --cc=ksummit-discuss@lists.linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox