Commit 13417982 authored by Julia Lawall's avatar Julia Lawall Committed by Mauro Carvalho Chehab

V4L/DVB (10130): 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_is_isoc_in(epd)
usb_endpoint_is_isoc_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)
// </smpl>
Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent cec73844
...@@ -1981,8 +1981,8 @@ static int em28xx_usb_probe(struct usb_interface *interface, ...@@ -1981,8 +1981,8 @@ static int em28xx_usb_probe(struct usb_interface *interface,
endpoint = &interface->cur_altsetting->endpoint[0].desc; endpoint = &interface->cur_altsetting->endpoint[0].desc;
/* check if the device has the iso in endpoint at the correct place */ /* check if the device has the iso in endpoint at the correct place */
if ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == if (usb_endpoint_xfer_isoc(endpoint)
USB_ENDPOINT_XFER_ISOC && &&
(interface->altsetting[1].endpoint[0].desc.wMaxPacketSize == 940)) { (interface->altsetting[1].endpoint[0].desc.wMaxPacketSize == 940)) {
/* It's a newer em2874/em2875 device */ /* It's a newer em2874/em2875 device */
isoc_pipe = 0; isoc_pipe = 0;
...@@ -1990,11 +1990,11 @@ static int em28xx_usb_probe(struct usb_interface *interface, ...@@ -1990,11 +1990,11 @@ static int em28xx_usb_probe(struct usb_interface *interface,
int check_interface = 1; int check_interface = 1;
isoc_pipe = 1; isoc_pipe = 1;
endpoint = &interface->cur_altsetting->endpoint[1].desc; endpoint = &interface->cur_altsetting->endpoint[1].desc;
if ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != if (usb_endpoint_type(endpoint) !=
USB_ENDPOINT_XFER_ISOC) USB_ENDPOINT_XFER_ISOC)
check_interface = 0; check_interface = 0;
if ((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) if (usb_endpoint_dir_out(endpoint))
check_interface = 0; check_interface = 0;
if (!check_interface) { if (!check_interface) {
......
...@@ -1396,12 +1396,9 @@ static int stk_camera_probe(struct usb_interface *interface, ...@@ -1396,12 +1396,9 @@ static int stk_camera_probe(struct usb_interface *interface,
endpoint = &iface_desc->endpoint[i].desc; endpoint = &iface_desc->endpoint[i].desc;
if (!dev->isoc_ep if (!dev->isoc_ep
&& ((endpoint->bEndpointAddress && usb_endpoint_is_isoc_in(endpoint)) {
& USB_ENDPOINT_DIR_MASK) == USB_DIR_IN)
&& ((endpoint->bmAttributes
& USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_ISOC)) {
/* we found an isoc in endpoint */ /* we found an isoc in endpoint */
dev->isoc_ep = (endpoint->bEndpointAddress & 0xF); dev->isoc_ep = usb_endpoint_num(endpoint);
break; break;
} }
} }
......
...@@ -3779,11 +3779,11 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id * ...@@ -3779,11 +3779,11 @@ static int ibmcam_probe(struct usb_interface *intf, const struct usb_device_id *
err("Alternate settings have different endpoint addresses!"); err("Alternate settings have different endpoint addresses!");
return -ENODEV; return -ENODEV;
} }
if ((endpoint->bmAttributes & 0x03) != 0x01) { if (usb_endpoint_type(endpoint) != USB_ENDPOINT_XFER_ISOC) {
err("Interface %d. has non-ISO endpoint!", ifnum); err("Interface %d. has non-ISO endpoint!", ifnum);
return -ENODEV; return -ENODEV;
} }
if ((endpoint->bEndpointAddress & 0x80) == 0) { if (usb_endpoint_dir_out(endpoint)) {
err("Interface %d. has ISO OUT endpoint!", ifnum); err("Interface %d. has ISO OUT endpoint!", ifnum);
return -ENODEV; return -ENODEV;
} }
......
...@@ -823,12 +823,12 @@ static int konicawc_probe(struct usb_interface *intf, const struct usb_device_id ...@@ -823,12 +823,12 @@ static int konicawc_probe(struct usb_interface *intf, const struct usb_device_id
err("Alternate settings have different endpoint addresses!"); err("Alternate settings have different endpoint addresses!");
return -ENODEV; return -ENODEV;
} }
if ((endpoint->bmAttributes & 0x03) != 0x01) { if (usb_endpoint_type(endpoint) != USB_ENDPOINT_XFER_ISOC) {
err("Interface %d. has non-ISO endpoint!", err("Interface %d. has non-ISO endpoint!",
interface->desc.bInterfaceNumber); interface->desc.bInterfaceNumber);
return -ENODEV; return -ENODEV;
} }
if ((endpoint->bEndpointAddress & 0x80) == 0) { if (usb_endpoint_dir_out(endpoint)) {
err("Interface %d. has ISO OUT endpoint!", err("Interface %d. has ISO OUT endpoint!",
interface->desc.bInterfaceNumber); interface->desc.bInterfaceNumber);
return -ENODEV; return -ENODEV;
......
...@@ -955,8 +955,7 @@ static int qcm_probe(struct usb_interface *intf, ...@@ -955,8 +955,7 @@ static int qcm_probe(struct usb_interface *intf,
for (j=0; j < interface->desc.bNumEndpoints; j++) { for (j=0; j < interface->desc.bNumEndpoints; j++) {
endpoint = &interface->endpoint[j].desc; endpoint = &interface->endpoint[j].desc;
if ((endpoint->bEndpointAddress & if (usb_endpoint_dir_out(endpoint))
USB_ENDPOINT_DIR_MASK) != USB_DIR_IN)
continue; /* not input then not good */ continue; /* not input then not good */
buffer_size = le16_to_cpu(endpoint->wMaxPacketSize); buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
...@@ -965,9 +964,7 @@ static int qcm_probe(struct usb_interface *intf, ...@@ -965,9 +964,7 @@ static int qcm_probe(struct usb_interface *intf,
continue; /* 0 pkt size is not what we want */ continue; /* 0 pkt size is not what we want */
} }
if ((endpoint->bmAttributes & if (usb_endpoint_xfer_isoc(endpoint)) {
USB_ENDPOINT_XFERTYPE_MASK) ==
USB_ENDPOINT_XFER_ISOC) {
video_ep = endpoint->bEndpointAddress; video_ep = endpoint->bEndpointAddress;
/* break out of the search */ /* break out of the search */
goto good_videoep; goto good_videoep;
......
...@@ -556,12 +556,12 @@ static int ultracam_probe(struct usb_interface *intf, const struct usb_device_id ...@@ -556,12 +556,12 @@ static int ultracam_probe(struct usb_interface *intf, const struct usb_device_id
err("Alternate settings have different endpoint addresses!"); err("Alternate settings have different endpoint addresses!");
return -ENODEV; return -ENODEV;
} }
if ((endpoint->bmAttributes & 0x03) != 0x01) { if (usb_endpoint_type(endpoint) != USB_ENDPOINT_XFER_ISOC) {
err("Interface %d. has non-ISO endpoint!", err("Interface %d. has non-ISO endpoint!",
interface->desc.bInterfaceNumber); interface->desc.bInterfaceNumber);
return -ENODEV; return -ENODEV;
} }
if ((endpoint->bEndpointAddress & 0x80) == 0) { if (usb_endpoint_dir_out(endpoint)) {
err("Interface %d. has ISO OUT endpoint!", err("Interface %d. has ISO OUT endpoint!",
interface->desc.bInterfaceNumber); interface->desc.bInterfaceNumber);
return -ENODEV; return -ENODEV;
......
...@@ -844,8 +844,7 @@ vicam_probe( struct usb_interface *intf, const struct usb_device_id *id) ...@@ -844,8 +844,7 @@ vicam_probe( struct usb_interface *intf, const struct usb_device_id *id)
interface->desc.bInterfaceNumber, (unsigned) (interface->desc.bNumEndpoints)); interface->desc.bInterfaceNumber, (unsigned) (interface->desc.bNumEndpoints));
endpoint = &interface->endpoint[0].desc; endpoint = &interface->endpoint[0].desc;
if ((endpoint->bEndpointAddress & 0x80) && if (usb_endpoint_is_bulk_in(endpoint)) {
((endpoint->bmAttributes & 3) == 0x02)) {
/* we found a bulk in endpoint */ /* we found a bulk in endpoint */
bulkEndpoint = endpoint->bEndpointAddress; bulkEndpoint = endpoint->bEndpointAddress;
} else { } else {
......
...@@ -1679,7 +1679,7 @@ static int __devinit usbvision_probe(struct usb_interface *intf, ...@@ -1679,7 +1679,7 @@ static int __devinit usbvision_probe(struct usb_interface *intf,
interface = &dev->actconfig->interface[ifnum]->altsetting[0]; interface = &dev->actconfig->interface[ifnum]->altsetting[0];
} }
endpoint = &interface->endpoint[1].desc; endpoint = &interface->endpoint[1].desc;
if ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != if (usb_endpoint_type(endpoint) !=
USB_ENDPOINT_XFER_ISOC) { USB_ENDPOINT_XFER_ISOC) {
err("%s: interface %d. has non-ISO endpoint!", err("%s: interface %d. has non-ISO endpoint!",
__func__, ifnum); __func__, ifnum);
...@@ -1687,8 +1687,7 @@ static int __devinit usbvision_probe(struct usb_interface *intf, ...@@ -1687,8 +1687,7 @@ static int __devinit usbvision_probe(struct usb_interface *intf,
__func__, endpoint->bmAttributes); __func__, endpoint->bmAttributes);
return -ENODEV; return -ENODEV;
} }
if ((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == if (usb_endpoint_dir_out(endpoint)) {
USB_DIR_OUT) {
err("%s: interface %d. has ISO OUT endpoint!", err("%s: interface %d. has ISO OUT endpoint!",
__func__, ifnum); __func__, ifnum);
return -ENODEV; return -ENODEV;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment