mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 22:51:42 +00:00
USB: ub: use USB API functions rather than constants
This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include <linux/usb.h> @depends on !inc && (r1||r5)@ @@ + #include <linux/usb.h> #include <linux/usb/...> // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4d6914b729
commit
db5e6df172
@ -2146,10 +2146,9 @@ static int ub_get_pipes(struct ub_dev *sc, struct usb_device *dev,
|
||||
ep = &altsetting->endpoint[i].desc;
|
||||
|
||||
/* Is it a BULK endpoint? */
|
||||
if ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
|
||||
== USB_ENDPOINT_XFER_BULK) {
|
||||
if (usb_endpoint_xfer_bulk(ep)) {
|
||||
/* BULK in or out? */
|
||||
if (ep->bEndpointAddress & USB_DIR_IN) {
|
||||
if (usb_endpoint_dir_in(ep)) {
|
||||
if (ep_in == NULL)
|
||||
ep_in = ep;
|
||||
} else {
|
||||
@ -2168,9 +2167,9 @@ static int ub_get_pipes(struct ub_dev *sc, struct usb_device *dev,
|
||||
sc->send_ctrl_pipe = usb_sndctrlpipe(dev, 0);
|
||||
sc->recv_ctrl_pipe = usb_rcvctrlpipe(dev, 0);
|
||||
sc->send_bulk_pipe = usb_sndbulkpipe(dev,
|
||||
ep_out->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK);
|
||||
usb_endpoint_num(ep_out));
|
||||
sc->recv_bulk_pipe = usb_rcvbulkpipe(dev,
|
||||
ep_in->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK);
|
||||
usb_endpoint_num(ep_in));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user