unstable /sys interface from hmon
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,
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bab2243ce1897865e31ea6d59b0478391f51812b
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c3b7cddc70075d525db6b3068d8b2b9158eedc84
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
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.
A patch to add in a compatibility layer would be welcome.
Daniel
Quoted 8 lines · Daniel Walker
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,
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bab2243ce1897865e31ea6d59b0478391f51812b
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c3b7cddc70075d525db6b3068d8b2b9158eedc84
Quoted 8 lines
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 device).
Quoted 4 lines
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 ?
Quoted 2 lines
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.
Thanks,
Guenter