greybus: define GB_OP_NONEXISTENT

The i2c protocol needs a way to indicate an i2c device doesn't exist
(which is not necessarily an error).  Define GB_OP_NONEXISTENT to
indicate this, and updating the status<->errno mapping functions
accordingly.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
Alex Elder 2014-12-10 08:43:33 -06:00 committed by Greg Kroah-Hartman
parent 5f474d4943
commit aa26351d0b
2 changed files with 5 additions and 0 deletions

View file

@ -396,6 +396,8 @@ static int gb_operation_status_map(u8 status)
return -EINVAL;
case GB_OP_RETRY:
return -EAGAIN;
case GB_OP_NONEXISTENT:
return -ENODEV;
case GB_OP_MALFUNCTION:
return -EILSEQ;
case GB_OP_UNKNOWN_ERROR:
@ -431,6 +433,8 @@ static u8 gb_operation_errno_map(int errno)
return GB_OP_RETRY;
case -EILSEQ:
return GB_OP_MALFUNCTION;
case -ENODEV:
return GB_OP_NONEXISTENT;
case -EIO:
default:
return GB_OP_UNKNOWN_ERROR;

View file

@ -34,6 +34,7 @@ enum gb_operation_result {
GB_OP_OVERFLOW = 0x05,
GB_OP_INVALID = 0x06,
GB_OP_RETRY = 0x07,
GB_OP_NONEXISTENT = 0x08,
GB_OP_UNKNOWN_ERROR = 0xfe,
GB_OP_MALFUNCTION = 0xff,
};