Replace cvmx_usb_control_header_t with union cvmx_usb_control_header.

Signed-off-by: Aaro Koskinen <aaro.koski...@iki.fi>
---
 drivers/staging/octeon-usb/cvmx-usb.c | 12 ++++++++----
 drivers/staging/octeon-usb/cvmx-usb.h | 31 ++++++++++++++++++-------------
 2 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/octeon-usb/cvmx-usb.c 
b/drivers/staging/octeon-usb/cvmx-usb.c
index 3cc315d..8a9d94b 100644
--- a/drivers/staging/octeon-usb/cvmx-usb.c
+++ b/drivers/staging/octeon-usb/cvmx-usb.c
@@ -1448,7 +1448,8 @@ static void __cvmx_usb_start_channel_control(struct 
cvmx_usb_internal_state *usb
                                             struct cvmx_usb_pipe *pipe)
 {
        struct cvmx_usb_transaction *transaction = pipe->head;
-       cvmx_usb_control_header_t *header = 
cvmx_phys_to_ptr(transaction->control_header);
+       union cvmx_usb_control_header *header =
+               cvmx_phys_to_ptr(transaction->control_header);
        int bytes_to_transfer = transaction->buffer_length - 
transaction->actual_bytes;
        int packets_to_transfer;
        cvmx_usbcx_hctsizx_t usbc_hctsiz;
@@ -2319,7 +2320,8 @@ int cvmx_usb_submit_control(struct cvmx_usb_state *state, 
int pipe_handle,
 {
        int submit_handle;
        struct cvmx_usb_internal_state *usb = (struct cvmx_usb_internal_state 
*)state;
-       cvmx_usb_control_header_t *header = cvmx_phys_to_ptr(control_header);
+       union cvmx_usb_control_header *header =
+               cvmx_phys_to_ptr(control_header);
 
        /* Pipe handle checking is done later in a common place */
        if (unlikely(!control_header))
@@ -2884,7 +2886,8 @@ static int __cvmx_usb_poll_channel(struct 
cvmx_usb_internal_state *usb, int chan
                                if (__cvmx_usb_pipe_needs_split(usb, pipe))
                                        transaction->stage = 
CVMX_USB_STAGE_SETUP_SPLIT_COMPLETE;
                                else {
-                                       cvmx_usb_control_header_t *header = 
cvmx_phys_to_ptr(transaction->control_header);
+                                       union cvmx_usb_control_header *header =
+                                               
cvmx_phys_to_ptr(transaction->control_header);
                                        if (header->s.length)
                                                transaction->stage = 
CVMX_USB_STAGE_DATA;
                                        else
@@ -2893,7 +2896,8 @@ static int __cvmx_usb_poll_channel(struct 
cvmx_usb_internal_state *usb, int chan
                                break;
                        case CVMX_USB_STAGE_SETUP_SPLIT_COMPLETE:
                                {
-                                       cvmx_usb_control_header_t *header = 
cvmx_phys_to_ptr(transaction->control_header);
+                                       union cvmx_usb_control_header *header =
+                                               
cvmx_phys_to_ptr(transaction->control_header);
                                        if (header->s.length)
                                                transaction->stage = 
CVMX_USB_STAGE_DATA;
                                        else
diff --git a/drivers/staging/octeon-usb/cvmx-usb.h 
b/drivers/staging/octeon-usb/cvmx-usb.h
index bd6a2fb..8bf3696 100644
--- a/drivers/staging/octeon-usb/cvmx-usb.h
+++ b/drivers/staging/octeon-usb/cvmx-usb.h
@@ -335,20 +335,25 @@ struct cvmx_usb_port_status {
 };
 
 /**
- * This is the structure of a Control packet header
+ * union cvmx_usb_control_header - the structure of a Control packet header
+ *
+ * @s.request_type:    Bit 7 tells the direction: 1=IN, 0=OUT
+ * @s.request          The standard usb request to make
+ * @s.value            Value parameter for the request in little endian format
+ * @s.index            Index for the request in little endian format
+ * @s.length           Length of the data associated with this request in
+ *                     little endian format
  */
-typedef union
-{
-    uint64_t u64;
-    struct
-    {
-        uint64_t request_type   : 8;  /**< Bit 7 tells the direction: 1=IN, 
0=OUT */
-        uint64_t request        : 8;  /**< The standard usb request to make */
-        uint64_t value          : 16; /**< Value parameter for the request in 
little endian format */
-        uint64_t index          : 16; /**< Index for the request in little 
endian format */
-        uint64_t length         : 16; /**< Length of the data associated with 
this request in little endian format */
-    } s;
-} cvmx_usb_control_header_t;
+union cvmx_usb_control_header {
+       uint64_t u64;
+       struct {
+               uint64_t request_type   : 8;
+               uint64_t request        : 8;
+               uint64_t value          : 16;
+               uint64_t index          : 16;
+               uint64_t length         : 16;
+       } s;
+};
 
 /**
  * struct cvmx_usb_iso_packet - descriptor for Isochronous packets
-- 
1.8.3.2

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to