diff options
author | Johan Hovold <johan@hovoldconsulting.com> | 2016-04-29 17:08:37 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2016-04-29 14:27:05 -0700 |
commit | 7adb32b429ce38bae39e277ae2cc37c93770104f (patch) | |
tree | a9a1790410ec4724728a11aa4f87abf552270b96 | |
parent | a2cf2e594626ce8c1e6944f6a44a7d481b84b82d (diff) | |
download | linux-7adb32b429ce38bae39e277ae2cc37c93770104f.tar.gz linux-7adb32b429ce38bae39e277ae2cc37c93770104f.tar.bz2 linux-7adb32b429ce38bae39e277ae2cc37c93770104f.zip |
greybus: operation: fix definition of the invalid type
The invalid request type has been redefined as 0x7f.
Also remove the redundant redefinition of the invalid type from the
operation header.
Note that operation type 0x00 has been repurposed for the new generic
ping operation, which will be used to implement proper connection tear
down.
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
-rw-r--r-- | drivers/staging/greybus/greybus_protocols.h | 4 | ||||
-rw-r--r-- | drivers/staging/greybus/operation.c | 12 | ||||
-rw-r--r-- | drivers/staging/greybus/operation.h | 6 |
3 files changed, 9 insertions, 13 deletions
diff --git a/drivers/staging/greybus/greybus_protocols.h b/drivers/staging/greybus/greybus_protocols.h index 07988fb10e0d..f1e8b345a761 100644 --- a/drivers/staging/greybus/greybus_protocols.h +++ b/drivers/staging/greybus/greybus_protocols.h @@ -95,9 +95,9 @@ struct gb_operation_msg_hdr { } __packed; -/* Generic request numbers supported by all modules */ -#define GB_REQUEST_TYPE_INVALID 0x00 +/* Generic request types */ #define GB_REQUEST_TYPE_PROTOCOL_VERSION 0x01 +#define GB_REQUEST_TYPE_INVALID 0x7f struct gb_protocol_version_request { __u8 major; diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c index fcae74793740..e7e9b0e72269 100644 --- a/drivers/staging/greybus/operation.c +++ b/drivers/staging/greybus/operation.c @@ -282,10 +282,10 @@ static void gb_operation_message_init(struct gb_host_device *hd, /* * The type supplied for incoming message buffers will be - * 0x00. Such buffers will be overwritten by arriving data - * so there's no need to initialize the message header. + * GB_REQUEST_TYPE_INVALID. Such buffers will be overwritten by + * arriving data so there's no need to initialize the message header. */ - if (type != GB_OPERATION_TYPE_INVALID) { + if (type != GB_REQUEST_TYPE_INVALID) { u16 message_size = (u16)(sizeof(*header) + payload_size); /* @@ -536,7 +536,7 @@ gb_operation_create_flags(struct gb_connection *connection, size_t response_size, unsigned long flags, gfp_t gfp) { - if (WARN_ON_ONCE(type == GB_OPERATION_TYPE_INVALID)) + if (WARN_ON_ONCE(type == GB_REQUEST_TYPE_INVALID)) return NULL; if (WARN_ON_ONCE(type & GB_MESSAGE_TYPE_RESPONSE)) type &= ~GB_MESSAGE_TYPE_RESPONSE; @@ -573,7 +573,9 @@ gb_operation_create_incoming(struct gb_connection *connection, u16 id, flags |= GB_OPERATION_FLAG_UNIDIRECTIONAL; operation = gb_operation_create_common(connection, type, - request_size, 0, flags, GFP_ATOMIC); + request_size, + GB_REQUEST_TYPE_INVALID, + flags, GFP_ATOMIC); if (!operation) return NULL; diff --git a/drivers/staging/greybus/operation.h b/drivers/staging/greybus/operation.h index 8ef8f514dafa..117d7df2e0bd 100644 --- a/drivers/staging/greybus/operation.h +++ b/drivers/staging/greybus/operation.h @@ -18,12 +18,6 @@ struct gb_operation; #define GB_OPERATION_TIMEOUT_DEFAULT 1000 /* milliseconds */ /* - * No protocol may define an operation that has numeric value 0x00. - * It is reserved as an explicitly invalid value. - */ -#define GB_OPERATION_TYPE_INVALID ((u8)0x00) - -/* * The top bit of the type in an operation message header indicates * whether the message is a request (bit clear) or response (bit set) */ |