summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2014-09-16 14:56:37 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-09-19 14:44:51 -0700
commit00e262fd8744678262a0f662f1b5d45fc1f52e10 (patch)
tree2360b2b137f26fcbae384c973cfd0e2611685d79
parent9e82bf014195d6f0054982c463575cdce24292be (diff)
downloadlinux-00e262fd8744678262a0f662f1b5d45fc1f52e10.tar.gz
linux-00e262fd8744678262a0f662f1b5d45fc1f52e10.tar.bz2
linux-00e262fd8744678262a0f662f1b5d45fc1f52e10.zip
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 <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>
-rw-r--r--Documentation/sysfs-rules.txt21
1 files changed, 21 insertions, 0 deletions
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.