USB: Add a usb_pipe_endpoint() convenience function
Converting a pipe number to a struct usb_host_endpoint pointer is a little messy. Introduce a new convenience function to hide the mess. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b18a23495f
commit
fe54b058de
@@ -226,8 +226,7 @@ int usb_bulk_msg(struct usb_device *usb_dev, unsigned int pipe,
|
|||||||
struct urb *urb;
|
struct urb *urb;
|
||||||
struct usb_host_endpoint *ep;
|
struct usb_host_endpoint *ep;
|
||||||
|
|
||||||
ep = (usb_pipein(pipe) ? usb_dev->ep_in : usb_dev->ep_out)
|
ep = usb_pipe_endpoint(usb_dev, pipe);
|
||||||
[usb_pipeendpoint(pipe)];
|
|
||||||
if (!ep || len < 0)
|
if (!ep || len < 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
@@ -308,8 +308,7 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
|
|||||||
* will be required to set urb->ep directly and we will eliminate
|
* will be required to set urb->ep directly and we will eliminate
|
||||||
* urb->pipe.
|
* urb->pipe.
|
||||||
*/
|
*/
|
||||||
ep = (usb_pipein(urb->pipe) ? dev->ep_in : dev->ep_out)
|
ep = usb_pipe_endpoint(dev, urb->pipe);
|
||||||
[usb_pipeendpoint(urb->pipe)];
|
|
||||||
if (!ep)
|
if (!ep)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
||||||
|
@@ -1552,6 +1552,14 @@ static inline unsigned int __create_pipe(struct usb_device *dev,
|
|||||||
#define usb_rcvintpipe(dev,endpoint) \
|
#define usb_rcvintpipe(dev,endpoint) \
|
||||||
((PIPE_INTERRUPT << 30) | __create_pipe(dev, endpoint) | USB_DIR_IN)
|
((PIPE_INTERRUPT << 30) | __create_pipe(dev, endpoint) | USB_DIR_IN)
|
||||||
|
|
||||||
|
static inline struct usb_host_endpoint *
|
||||||
|
usb_pipe_endpoint(struct usb_device *dev, unsigned int pipe)
|
||||||
|
{
|
||||||
|
struct usb_host_endpoint **eps;
|
||||||
|
eps = usb_pipein(pipe) ? dev->ep_in : dev->ep_out;
|
||||||
|
return eps[usb_pipeendpoint(pipe)];
|
||||||
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
|
|
||||||
static inline __u16
|
static inline __u16
|
||||||
|
Reference in New Issue
Block a user