greybus: eliminate extra response flag definitions
authorAlex Elder <elder@linaro.org>
Thu, 7 May 2015 18:03:52 +0000 (13:03 -0500)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 7 May 2015 20:57:31 +0000 (22:57 +0200)
All protocols use the same value to distinguish between request and
response message types.  This is a requirement.

Use GB_MESSAGE_TYPE_RESPONSE rather than GB_OPERATION_TYPE_RESPONSE
for the name of the flag used to distiguish between request and
response messages.

Get rid of the redundant response flag definitions that are
associated with specific protocols.

Describe the symbolic values as "operation types" rather than
"message types" where they are defined.  The message type for a
request is the same as the operation type; the message type for a
response is the operation type OR'd with GB_MESSAGE_TYPE_RESPONSE.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/gpbridge.h
drivers/staging/greybus/hid.c
drivers/staging/greybus/operation.c
drivers/staging/greybus/operation.h
drivers/staging/greybus/spi.c
drivers/staging/greybus/uart.c
drivers/staging/greybus/vibrator.c

index e2301888a322d09ac34d977f76f4f7e330ca0f36..85d801960564bad4d2eb95f0a1493ff859efc536 100644 (file)
@@ -65,7 +65,6 @@
 #define GB_I2C_TYPE_TIMEOUT            0x03
 #define GB_I2C_TYPE_RETRIES            0x04
 #define GB_I2C_TYPE_TRANSFER           0x05
-#define GB_I2C_TYPE_RESPONSE           0x80    /* OR'd with rest */
 
 #define GB_I2C_RETRIES_DEFAULT         3
 #define GB_I2C_TIMEOUT_DEFAULT         1000    /* milliseconds */
@@ -133,7 +132,6 @@ struct gb_i2c_transfer_response {
 #define GB_GPIO_TYPE_IRQ_MASK          0x0d
 #define GB_GPIO_TYPE_IRQ_UNMASK                0x0e
 #define GB_GPIO_TYPE_IRQ_EVENT         0x0f
-#define GB_GPIO_TYPE_RESPONSE          0x80    /* OR'd with rest */
 
 #define GB_GPIO_DEBOUNCE_USEC_DEFAULT  0       /* microseconds */
 
@@ -223,7 +221,7 @@ struct gb_gpio_irq_event_request {
 #define GB_PWM_VERSION_MAJOR           0x00
 #define GB_PWM_VERSION_MINOR           0x01
 
-/* Greybus PWM request types */
+/* Greybus PWM operation types */
 #define GB_PWM_TYPE_INVALID            0x00
 #define GB_PWM_TYPE_PROTOCOL_VERSION   0x01
 #define GB_PWM_TYPE_PWM_COUNT          0x02
@@ -233,7 +231,6 @@ struct gb_gpio_irq_event_request {
 #define GB_PWM_TYPE_POLARITY           0x06
 #define GB_PWM_TYPE_ENABLE             0x07
 #define GB_PWM_TYPE_DISABLE            0x08
-#define GB_PWM_TYPE_RESPONSE           0x80    /* OR'd with rest */
 
 /* pwm count request has no payload */
 struct gb_pwm_count_response {
index 556cf9b0fe9343c4092970929f7b691eae0e415d..00dc7e57f4a465cfaced3d752520410b75f723b4 100644 (file)
@@ -20,7 +20,7 @@
 #define GB_HID_VERSION_MAJOR           0x00
 #define GB_HID_VERSION_MINOR           0x01
 
-/* Greybus HID request types */
+/* Greybus HID operation types */
 #define GB_HID_TYPE_INVALID            0x00
 #define GB_HID_TYPE_PROTOCOL_VERSION   0x01
 #define GB_HID_TYPE_GET_DESC           0x02
@@ -30,7 +30,6 @@
 #define GB_HID_TYPE_GET_REPORT         0x06
 #define GB_HID_TYPE_SET_REPORT         0x07
 #define GB_HID_TYPE_IRQ_EVENT          0x08
-#define GB_HID_TYPE_RESPONSE           0x80    /* OR'd with rest */
 
 /* Report type */
 #define GB_HID_INPUT_REPORT            0
index 3639e27e288a8c316168475ba808f032a9f2ab9c..1ec930c5cba9d18ea58088bb20b2b15571b5ae0e 100644 (file)
@@ -396,7 +396,7 @@ bool gb_operation_response_alloc(struct gb_operation *operation,
        struct gb_message *response;
        u8 type;
 
-       type = operation->type | GB_OPERATION_TYPE_RESPONSE;
+       type = operation->type | GB_MESSAGE_TYPE_RESPONSE;
        response = gb_operation_message_alloc(hd, type, response_size,
                                                GFP_KERNEL);
        if (!response)
@@ -508,8 +508,8 @@ struct gb_operation *gb_operation_create(struct gb_connection *connection,
 {
        if (WARN_ON_ONCE(type == GB_OPERATION_TYPE_INVALID))
                return NULL;
-       if (WARN_ON_ONCE(type & GB_OPERATION_TYPE_RESPONSE))
-               type &= ~GB_OPERATION_TYPE_RESPONSE;
+       if (WARN_ON_ONCE(type & GB_MESSAGE_TYPE_RESPONSE))
+               type &= ~GB_MESSAGE_TYPE_RESPONSE;
 
        return gb_operation_create_common(connection, type,
                                        request_size, response_size);
@@ -855,7 +855,7 @@ void gb_connection_recv(struct gb_connection *connection,
        }
 
        operation_id = le16_to_cpu(header.operation_id);
-       if (header.type & GB_OPERATION_TYPE_RESPONSE)
+       if (header.type & GB_MESSAGE_TYPE_RESPONSE)
                gb_connection_recv_response(connection, operation_id,
                                                header.result, data, msg_size);
        else
index 38684f2cdbaa325423bf24a23addb5a5d50c0e4e..82b8fe57f8a00510a98725575c0a8bac72a1e3ee 100644 (file)
@@ -24,7 +24,7 @@ struct gb_operation;
  * The top bit of the type in an operation message header indicates
  * whether the message is a request (bit clear) or response (bit set)
  */
-#define GB_OPERATION_TYPE_RESPONSE     ((u8)0x80)
+#define GB_MESSAGE_TYPE_RESPONSE       ((u8)0x80)
 
 enum gb_operation_result {
        GB_OP_SUCCESS           = 0x00,
index 639c9cdac51656ca259f574573aa71a5330d15e0..731639a810b2510f4b0c44e1d26f20e337e4be7c 100644 (file)
@@ -66,7 +66,7 @@ struct gb_spi {
 #define GB_SPI_FLAG_NO_RX              BIT(1)          /* can't do buffer read */
 #define GB_SPI_FLAG_NO_TX              BIT(2)          /* can't do buffer write */
 
-/* Greybus spi request types */
+/* Greybus spi operation types */
 #define GB_SPI_TYPE_INVALID            0x00
 #define GB_SPI_TYPE_PROTOCOL_VERSION   0x01
 #define GB_SPI_TYPE_MODE               0x02
@@ -74,7 +74,6 @@ struct gb_spi {
 #define GB_SPI_TYPE_BITS_PER_WORD_MASK 0x04
 #define GB_SPI_TYPE_NUM_CHIPSELECT     0x05
 #define GB_SPI_TYPE_TRANSFER           0x06
-#define GB_SPI_TYPE_RESPONSE           0x80    /* OR'd with rest */
 
 /* mode request has no payload */
 struct gb_spi_mode_response {
index 51e4f7bad47f2b82d8b54dd488ea71ab1656d67d..35ab3cad5714e3f8972cf53e88dcf4600e5ed4ad 100644 (file)
@@ -37,7 +37,7 @@
 #define GB_UART_VERSION_MAJOR          0x00
 #define GB_UART_VERSION_MINOR          0x01
 
-/* Greybus UART request types */
+/* Greybus UART operation types */
 #define GB_UART_TYPE_INVALID                   0x00
 #define GB_UART_TYPE_PROTOCOL_VERSION          0x01
 #define GB_UART_TYPE_SEND_DATA                 0x02
@@ -46,7 +46,6 @@
 #define GB_UART_TYPE_SET_CONTROL_LINE_STATE    0x05
 #define GB_UART_TYPE_SET_BREAK                 0x06
 #define GB_UART_TYPE_SERIAL_STATE              0x07    /* Unsolicited data */
-#define GB_UART_TYPE_RESPONSE                  0x80    /* OR'd with rest */
 
 struct gb_uart_send_data_request {
        __le16  size;
index 2943a9b381c6b7515ac963b953cfab3c493752be..aefd2cd3f18e4c35b0f7a0960efa7a5d8c6d032e 100644 (file)
@@ -27,12 +27,11 @@ struct gb_vibrator_device {
 #define        GB_VIBRATOR_VERSION_MAJOR               0x00
 #define        GB_VIBRATOR_VERSION_MINOR               0x01
 
-/* Greybus Vibrator request types */
+/* Greybus Vibrator operation types */
 #define        GB_VIBRATOR_TYPE_INVALID                0x00
 #define        GB_VIBRATOR_TYPE_PROTOCOL_VERSION       0x01
 #define        GB_VIBRATOR_TYPE_ON                     0x02
 #define        GB_VIBRATOR_TYPE_OFF                    0x03
-#define        GB_VIBRATOR_TYPE_RESPONSE               0x80    /* OR'd with rest */
 
 struct gb_vibrator_on_request {
        __le16  timeout_ms;