Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -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
+18 −13
Original line number Diff line number Diff line
@@ -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
{
union cvmx_usb_control_header {
	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 */
	struct {
		uint64_t request_type   : 8;
		uint64_t request        : 8;
		uint64_t value          : 16;
		uint64_t index          : 16;
		uint64_t length         : 16;
	} s;
} cvmx_usb_control_header_t;
};

/**
 * struct cvmx_usb_iso_packet - descriptor for Isochronous packets