greybus: define -EILSEQ to mean implementation error
Reserve operation result code -EILSEQ to represent that the code
that implements an operation is broken. This is used (initially)
for any attempt to set the result to -EBADR (which is reserved for
an operation in initial state), or for an attempt to set the result
of an operation that is *not* in initial state to -EINPROGRESS.
Note that we still use -EIO gb_operation_status_map() to represent a
gb_operation_result value that isn't recognized.
In gb_operation_result(), warn if operation->errno is -EBADR. That
is another value that indicates the operation is not in a state
where it's valid to query an operation's result.
Update a bunch of comments above gb_operation_result_set() to
explain constraints on operation->errno.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>