Commit 47509e4a authored by Aaro Koskinen's avatar Aaro Koskinen Committed by Greg Kroah-Hartman

staging: octeon-usb: cvmx_usb_control_header_t -> union cvmx_usb_control_header

Replace cvmx_usb_control_header_t with union cvmx_usb_control_header.
Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2bf249e4
......@@ -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
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment