Linux Power Management development
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Arnaud Ebalard <arno@natisbad.org>,
	Eduardo Valentin <eduardo.valentin@ti.com>,
	Zhang Rui <rui.zhang@intel.com>,
	Jean Delvare <khali@linux-fr.org>
Cc: linux-pm@vger.kernel.org, lm-sensors@lm-sensors.org,
	linux-arm-kernel@lists.infradead.org,
	Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Jason Cooper <jason@lakedaemon.net>
Subject: Re: [REGRESSION?] sensors and fancontrol not seeing armada_thermal on 3.12-rc series
Date: Sun, 20 Oct 2013 12:23:27 -0700	[thread overview]
Message-ID: <52642DAF.8080301@roeck-us.net> (raw)
In-Reply-To: <87ppqzolsu.fsf@natisbad.org>

On 10/20/2013 11:10 AM, Arnaud Ebalard wrote:
> Hi,
>
> With 3.12-rc series, sysfs support for thermal susbsytem (and/or hwmon
> one) was modified in such a way that sensors utility (current 3.3.4
> version with 3.3.4 version of libsensors from lm-sensors package on
> Debian unstable) does not see the temperature sensor anymore on armada
> 370 platforms (not tested on others). Additionally, the changes break
> existing configurations of fancontrol utility, which prevents the
> fan to be regulated correctly w/o recreating an /etc/fancontrol w/
> pwmconfig.
>
> Here is what I have on my Armada 370-based system on a 3.11.5:
>
> # sensors
> g762-i2c-0-3e
> Adapter: mv64xxx_i2c adapter
> fan1:        2457 RPM  (div = 1)
>
> armada_thermal-virtual-0
> Adapter: Virtual device
> temp1:        +45.7°C
>
> And what I get on 3.12-rc6:
>
> # sensors
> g762-i2c-0-3e
> Adapter: mv64xxx_i2c adapter
> fan1:        1350 RPM  (div = 1)
>
>
> Monitoring what sensors does w/ strace, I started looking at the changes
> to /sys/class/hwmon/hwmon1/:
>
> On 3.11.5:
>
> # find /sys/class/hwmon/hwmon1/
> /sys/class/hwmon/hwmon1/
> /sys/class/hwmon/hwmon1/name
> /sys/class/hwmon/hwmon1/subsystem
> /sys/class/hwmon/hwmon1/uevent
> /sys/class/hwmon/hwmon1/temp1_input
>
> On 3.12-rc6:
>
> # find /sys/class/hwmon/hwmon1/
> /sys/class/hwmon/hwmon1/
> /sys/class/hwmon/hwmon1/name
> /sys/class/hwmon/hwmon1/device
> /sys/class/hwmon/hwmon1/subsystem
> /sys/class/hwmon/hwmon1/uevent
> /sys/class/hwmon/hwmon1/temp1_input
>
> # find /sys/class/hwmon/hwmon1/device/
> /sys/class/hwmon/hwmon1/device/
> /sys/class/hwmon/hwmon1/device/temp
> /sys/class/hwmon/hwmon1/device/type
> /sys/class/hwmon/hwmon1/device/hwmon1
> /sys/class/hwmon/hwmon1/device/hwmon1/name
> /sys/class/hwmon/hwmon1/device/hwmon1/device
> /sys/class/hwmon/hwmon1/device/hwmon1/subsystem
> /sys/class/hwmon/hwmon1/device/hwmon1/uevent
> /sys/class/hwmon/hwmon1/device/hwmon1/temp1_input
> /sys/class/hwmon/hwmon1/device/subsystem
> /sys/class/hwmon/hwmon1/device/policy
> /sys/class/hwmon/hwmon1/device/uevent
> /sys/class/hwmon/hwmon1/device/passive
>
> Is that expected? As for sensors, it *seems* to be bothered to find a
> device/ folder in /sys/class/hwmon/hwmon1/ w/o no name entry in it.
>

The 'name' attribute should not be the problem, since there is a 'name'
attribute in the /sys/class/hwmon/hwmon1/ directory.

Key difference is that there is now a 'device' subdirectory, which results
in different handling by libsensors; the entry is no longer a virtual entry
but is expected to have a real device attached to it. For this device,
libsensors tries to scan the 'subsystem' entry which in turn must be well
defined and known. My suspicion is that the reported subsystem may not be
recognized by libsensors.

One question is why there is now a device entry, even though this is still as
virtual as it was before. You'll have to ask the thermal subsystem maintainers
for an answer.

I am also concerned about the 'hwmon1' subdirectory underneath hwmon1/device;
that suggests that hwmon1 may be declared to be a child of itself, which would
obviously not be a good idea.

Also, note that the thermal subsystem creates (or may create) sensor attributes
after registering the hwmon device, which means you can not rely on the udev
event that comes with the hwmon device creation and assume that all sensor
attributes exist at that time. I don't currently know how to handle this situation.
This is not unique, though; the coretemp driver does the same. Just something
to keep in mind.

Guenter


  reply	other threads:[~2013-10-20 19:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-20 18:10 [REGRESSION?] sensors and fancontrol not seeing armada_thermal on 3.12-rc series Arnaud Ebalard
2013-10-20 19:23 ` Guenter Roeck [this message]
2013-10-21  2:28   ` Zhang Rui
2013-10-21  5:19     ` Guenter Roeck
2013-10-21 18:49     ` Arnaud Ebalard
2013-10-21  7:17 ` Jean Delvare
2013-10-21 15:16   ` Guenter Roeck
2013-10-22 12:04     ` Jean Delvare
2013-10-21 18:14   ` Arnaud Ebalard

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=52642DAF.8080301@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=andrew@lunn.ch \
    --cc=arno@natisbad.org \
    --cc=eduardo.valentin@ti.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=khali@linux-fr.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=rui.zhang@intel.com \
    --cc=sebastian.hesselbarth@gmail.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