Skip to content

Commit

Permalink
Documentation/sysfs-rules.txt: Add device attribute error code docume…
Browse files Browse the repository at this point in the history
…ntation

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 <dvhart@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Azael Avalos <coproscefalo@gmail.com>
Cc: H. Peter Anvin <hpa@linux.intel.com>
Cc: Frans Klaver <fransklaver@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Darren Hart authored and Greg Kroah-Hartman committed Sep 19, 2014
1 parent 9e82bf0 commit 00e262f
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions Documentation/sysfs-rules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.

0 comments on commit 00e262f

Please sign in to comment.