URB is always passed, so we can use strong typing here. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> --- drivers/staging/octeon-usb/octeon-hcd.c | 43 +++++++++++++++------------------ 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/drivers/staging/octeon-usb/octeon-hcd.c b/drivers/staging/octeon-usb/octeon-hcd.c index 25d6e3c..9ae8c1d 100644 --- a/drivers/staging/octeon-usb/octeon-hcd.c +++ b/drivers/staging/octeon-usb/octeon-hcd.c @@ -334,7 +334,7 @@ enum cvmx_usb_stage { * @iso_packets: For ISO transactions, the sub packets in the request. * @actual_bytes: Actual bytes transfer for this transaction. * @stage: For control transactions, the current stage. - * @callback_data: User's data. + * @urb: URB. */ struct cvmx_usb_transaction { struct cvmx_usb_transaction *prev; @@ -352,7 +352,7 @@ struct cvmx_usb_transaction { int retries; int actual_bytes; enum cvmx_usb_stage stage; - void *callback_data; + struct urb *urb; }; /** @@ -2144,12 +2144,11 @@ static void octeon_usb_urb_complete_callback(struct cvmx_usb_state *usb, int pipe_handle, int submit_handle, int bytes_transferred, - void *user_data) + struct urb *urb) { struct octeon_hcd *priv = cvmx_usb_to_octeon(usb); struct usb_hcd *hcd = octeon_to_hcd(priv); struct device *dev = hcd->self.controller; - struct urb *urb = user_data; urb->actual_length = bytes_transferred; urb->hcpriv = NULL; @@ -2300,7 +2299,7 @@ static void __cvmx_usb_perform_complete(struct cvmx_usb_state *usb, octeon_usb_urb_complete_callback(usb, complete_code, pipe_handle, submit_handle, transaction->actual_bytes, - transaction->callback_data); + transaction->urb); __cvmx_usb_free_transaction(usb, transaction); done: return; @@ -2326,7 +2325,7 @@ done: * For ISO, the number of packet in the transaction. * @iso_packets: * A description of each ISO packet - * @user_data: User's data for the callback + * @urb: URB for the callback * * Returns: Submit handle or negative on failure. Matches the result * in the external API. @@ -2340,7 +2339,7 @@ static int __cvmx_usb_submit_transaction(struct cvmx_usb_state *usb, int iso_start_frame, int iso_number_packets, struct cvmx_usb_iso_packet *iso_packets, - void *user_data) + struct urb *urb) { int submit_handle; struct cvmx_usb_transaction *transaction; @@ -2366,7 +2365,7 @@ static int __cvmx_usb_submit_transaction(struct cvmx_usb_state *usb, transaction->iso_start_frame = iso_start_frame; transaction->iso_number_packets = iso_number_packets; transaction->iso_packets = iso_packets; - transaction->callback_data = user_data; + transaction->urb = urb; if (transaction->type == CVMX_USB_TRANSFER_CONTROL) transaction->stage = CVMX_USB_STAGE_SETUP; else @@ -2410,15 +2409,14 @@ static int __cvmx_usb_submit_transaction(struct cvmx_usb_state *usb, * zero. * @buffer_length: * Length of buffer in bytes. - * @user_data: User supplied data returned when the - * callback is called. + * @urb: URB returned when the callback is called. * * Returns: A submitted transaction handle or negative on * failure. Negative values are error codes. */ static int cvmx_usb_submit_bulk(struct cvmx_usb_state *usb, int pipe_handle, uint64_t buffer, int buffer_length, - void *user_data) + struct urb *urb) { int submit_handle; @@ -2436,7 +2434,7 @@ static int cvmx_usb_submit_bulk(struct cvmx_usb_state *usb, int pipe_handle, 0, /* iso_start_frame */ 0, /* iso_number_packets */ NULL, /* iso_packets */ - user_data); + urb); return submit_handle; } @@ -2454,15 +2452,14 @@ static int cvmx_usb_submit_bulk(struct cvmx_usb_state *usb, int pipe_handle, * zero. * @buffer_length: * Length of buffer in bytes. - * @user_data: User supplied data returned when the - * callback is called. + * @urb: URB returned when the callback is called. * * Returns: A submitted transaction handle or negative on * failure. Negative values are error codes. */ static int cvmx_usb_submit_interrupt(struct cvmx_usb_state *usb, int pipe_handle, uint64_t buffer, - int buffer_length, void *user_data) + int buffer_length, struct urb *urb) { int submit_handle; @@ -2480,7 +2477,7 @@ static int cvmx_usb_submit_interrupt(struct cvmx_usb_state *usb, 0, /* iso_start_frame */ 0, /* iso_number_packets */ NULL, /* iso_packets */ - user_data); + urb); return submit_handle; } @@ -2502,8 +2499,7 @@ static int cvmx_usb_submit_interrupt(struct cvmx_usb_state *usb, * zero. * @buffer_length: * Length of buffer in bytes. - * @user_data: User supplied data returned when the - * callback is called. + * @urb: URB returned when the callback is called. * * Returns: A submitted transaction handle or negative on * failure. Negative values are error codes. @@ -2511,7 +2507,7 @@ static int cvmx_usb_submit_interrupt(struct cvmx_usb_state *usb, static int cvmx_usb_submit_control(struct cvmx_usb_state *usb, int pipe_handle, uint64_t control_header, uint64_t buffer, int buffer_length, - void *user_data) + struct urb *urb) { int submit_handle; union cvmx_usb_control_header *header = @@ -2536,7 +2532,7 @@ static int cvmx_usb_submit_control(struct cvmx_usb_state *usb, 0, /* iso_start_frame */ 0, /* iso_number_packets */ NULL, /* iso_packets */ - user_data); + urb); return submit_handle; } @@ -2565,8 +2561,7 @@ static int cvmx_usb_submit_control(struct cvmx_usb_state *usb, * zero. * @buffer_length: * Length of buffer in bytes. - * @user_data: User supplied data returned when the - * callback is called. + * @urb: URB returned when the callback is called. * * Returns: A submitted transaction handle or negative on * failure. Negative values are error codes. @@ -2576,7 +2571,7 @@ static int cvmx_usb_submit_isochronous(struct cvmx_usb_state *usb, int number_packets, struct cvmx_usb_iso_packet packets[], uint64_t buffer, int buffer_length, - void *user_data) + struct urb *urb) { int submit_handle; @@ -2600,7 +2595,7 @@ static int cvmx_usb_submit_isochronous(struct cvmx_usb_state *usb, start_frame, number_packets, packets, - user_data); + urb); return submit_handle; } -- 1.8.4.rc3 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel