diff options
author | Julia Lawall <julia@diku.dk> | 2008-12-28 19:21:07 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-29 22:40:47 -0500 |
commit | f201a8a4511a4c9953189924df3c880207194b41 (patch) | |
tree | 4ce51b99614721e6c15f48853269e8f489152803 | |
parent | 68ce9c0e3411b430b9800015e318af9f96933aa0 (diff) |
drivers/net/usb: 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
In drivers/net/wireless/zd1211rw/zd_usb.c the code:
(endpoint->bEndpointAddress & USB_TYPE_MASK) == USB_DIR_OUT
is suspicious. If it is intended to use USB_ENDPOINT_DIR_MASK rather than
USB_TYPE_MASK, then the whole conditional test could be converted to a call
to usb_endpoint_is_bulk_in.
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: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/usb/hso.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_usb.c | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 198ce3cf378a..9f7896a25f1b 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
@@ -2831,7 +2831,7 @@ static struct usb_endpoint_descriptor *hso_get_ep(struct usb_interface *intf, | |||
2831 | for (i = 0; i < iface->desc.bNumEndpoints; i++) { | 2831 | for (i = 0; i < iface->desc.bNumEndpoints; i++) { |
2832 | endp = &iface->endpoint[i].desc; | 2832 | endp = &iface->endpoint[i].desc; |
2833 | if (((endp->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == dir) && | 2833 | if (((endp->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == dir) && |
2834 | ((endp->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == type)) | 2834 | (usb_endpoint_type(endp) == type)) |
2835 | return endp; | 2835 | return endp; |
2836 | } | 2836 | } |
2837 | 2837 | ||
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c index 04c139666965..b5db57d2fcf5 100644 --- a/drivers/net/wireless/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zd1211rw/zd_usb.c | |||
@@ -1065,8 +1065,7 @@ static int eject_installer(struct usb_interface *intf) | |||
1065 | /* Find bulk out endpoint */ | 1065 | /* Find bulk out endpoint */ |
1066 | endpoint = &iface_desc->endpoint[1].desc; | 1066 | endpoint = &iface_desc->endpoint[1].desc; |
1067 | if ((endpoint->bEndpointAddress & USB_TYPE_MASK) == USB_DIR_OUT && | 1067 | if ((endpoint->bEndpointAddress & USB_TYPE_MASK) == USB_DIR_OUT && |
1068 | (endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == | 1068 | usb_endpoint_xfer_bulk(endpoint)) { |
1069 | USB_ENDPOINT_XFER_BULK) { | ||
1070 | bulk_out_ep = endpoint->bEndpointAddress; | 1069 | bulk_out_ep = endpoint->bEndpointAddress; |
1071 | } else { | 1070 | } else { |
1072 | dev_err(&udev->dev, | 1071 | dev_err(&udev->dev, |