summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/operation.h
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2014-12-01 07:53:09 -0600
committerGreg Kroah-Hartman <greg@kroah.com>2014-12-01 20:40:35 -0800
commit57248face3894f0b3e97ff1c9e9e8b8b22033ec3 (patch)
treea9b7a3f2748bcf845c7ee562934046a78308475a /drivers/staging/greybus/operation.h
parent2fb2d2a73f27bdd90a86d14c143e000e95d3c9d2 (diff)
greybus: renumber operation result values
Define a new operation status GB_OP_MALFUNCTION, which will be used to represent that something unexpected happened while handling an operation. This is intended as an indication similar to a BUG() call--whatever went wrong should *never* happen and because it's unexpected we need to treat it as a fatal error. Define another new operation status GB_OP_UNKNOWN_ERROR, which will represent the case where an operation ended in error, but the error was not recognized to be properly represented by one of the other status values. Renumber the operation status values, defining those that are produced by core operations code ahead of those that are more likely to come from operation handlers. Represent the values in hexadecimal to emphasize that they must be represented with 8 bits. The Use 0xff for GB_OP_MALFUNCTION instead of GB_OP_TIMEOUT; the latter is special, but a malfunction is in a class by itself. Reorder the cases in gb_operation_status_map() to match their numeric order. Map GB_OP_UNKNOWN_ERROR to -EIO in gb_operation_status_map(). Map GB_OP_MALFUNCTION to -EILSEQ in gb_operation_status_map(), since that value is used to represent an implementation error. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Diffstat (limited to 'drivers/staging/greybus/operation.h')
-rw-r--r--drivers/staging/greybus/operation.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/staging/greybus/operation.h b/drivers/staging/greybus/operation.h
index 7f835d2e8f35..feff8238f7cf 100644
--- a/drivers/staging/greybus/operation.h
+++ b/drivers/staging/greybus/operation.h
@@ -14,14 +14,16 @@
struct gb_operation;
enum gb_operation_result {
- GB_OP_SUCCESS = 0,
- GB_OP_INVALID = 1,
- GB_OP_NO_MEMORY = 2,
- GB_OP_INTERRUPTED = 3,
- GB_OP_RETRY = 4,
- GB_OP_PROTOCOL_BAD = 5,
- GB_OP_OVERFLOW = 6,
- GB_OP_TIMEOUT = 0xff,
+ GB_OP_SUCCESS = 0x00,
+ GB_OP_INTERRUPTED = 0x01,
+ GB_OP_TIMEOUT = 0x02,
+ GB_OP_NO_MEMORY = 0x03,
+ GB_OP_PROTOCOL_BAD = 0x04,
+ GB_OP_OVERFLOW = 0x05,
+ GB_OP_INVALID = 0x06,
+ GB_OP_RETRY = 0x07,
+ GB_OP_UNKNOWN_ERROR = 0xfe,
+ GB_OP_MALFUNCTION = 0xff,
};
struct gb_message {