From: Darren Hart Date: Tue, 16 Sep 2014 21:56:37 +0000 (-0700) Subject: Documentation/sysfs-rules.txt: Add device attribute error code documentation X-Git-Tag: Ubuntu-5.13.0-19.19~19298^2~11 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=00e262fd8744678262a0f662f1b5d45fc1f52e10;p=mirror_ubuntu-jammy-kernel.git Documentation/sysfs-rules.txt: Add device attribute error code documentation Provide some entry-level statements about what to expect from sysfs device attribute read/store return codes, both for users and kernel developers. Signed-off-by: Darren Hart Cc: Greg Kroah-Hartman Cc: Randy Dunlap Cc: Azael Avalos Cc: H. Peter Anvin Cc: Frans Klaver Signed-off-by: Greg Kroah-Hartman --- diff --git a/Documentation/sysfs-rules.txt b/Documentation/sysfs-rules.txt index a5f985ee1822..ce60ffa94d2d 100644 --- a/Documentation/sysfs-rules.txt +++ b/Documentation/sysfs-rules.txt @@ -161,3 +161,24 @@ versions of the sysfs interface. the device that matches the expected subsystem. Depending on a specific position of a parent device or exposing relative paths using "../" to access the chain of parents is a bug in the application. + +- When reading and writing sysfs device attribute files, avoid dependency + on specific error codes wherever possible. This minimizes coupling to + the error handling implementation within the kernel. + + In general, failures to read or write sysfs device attributes shall + propagate errors wherever possible. Common errors include, but are not + limited to: + + -EIO: The read or store operation is not supported, typically returned by + the sysfs system itself if the read or store pointer is NULL. + + -ENXIO: The read or store operation failed + + Error codes will not be changed without good reason, and should a change + to error codes result in user-space breakage, it will be fixed, or the + the offending change will be reverted. + + Userspace applications can, however, expect the format and contents of + the attribute files to remain consistent in the absence of a version + attribute change in the context of a given attribute.