Re: unstable /sys interface from hmon

From: Guenter Roeck
Date: Mon Jan 30 2017 - 18:12:23 EST

On Mon, Jan 30, 2017 at 12:37:14PM -0800, Daniel Walker wrote:
> Hi,
> Cisco recently upgraded to kernel 4.4.. We have applications which use the /sys interfaces for some hmon drivers.
> We found that the following patches,
> Altered the interface as seen from userspace. These patches changed the paths in the following way,
> Before,
> /sys/bus/i2c/devices/14-0050/
> After,
> /sys/bus/i2c/devices/14-0050/hwmon/hwmon7

Actually, the stable link to use would be /sys/class/hwmon/hwmon7
in both cases, and to check if the name attribute resides in hwmon7
or in hwmon7/device (which is the real change in your case - it moved
from hwmon7/device to hwmon7, ie from the parent device to the hwmon

> My impression was that /sys was suppose to be stable, and debugfs was unstable. I'm not sure what the current guidelines are
> for this, but we would request that hmon drivers maintain a stable interface from /sys. This change has cause upgrade issues
> for us which we would like to avoid in the future.
The key transition is the move from attaching the attributes to the parent
device (here: the i2c device) to the hwmon device. libsensors handles this
transition transparently; I assume you are not using it ?

> A patch to add in a compatibility layer would be welcome.
A compatibility layer would have to link each attribute back to the parent
device. Interesting idea, actually. I'll check if that is possible.