diff options
author | Julia Lawall <julia@diku.dk> | 2008-12-29 05:23:02 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-01-01 04:27:33 -0500 |
commit | 42a6e66f1e40a930d093c33ba0bb9d8d8e4555ed (patch) | |
tree | 7a1e0bca5877bdc4457cd68a377569feec0c76c9 | |
parent | b58602a4bac012b5f4fc12fe6b46ab237b610d5d (diff) |
ALSA: sound/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
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: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/usb/usbmidi.c | 42 | ||||
-rw-r--r-- | sound/usb/usbmixer.c | 6 |
2 files changed, 24 insertions, 24 deletions
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c index 6d9f9b135c62..3a9a9fecd292 100644 --- a/sound/usb/usbmidi.c +++ b/sound/usb/usbmidi.c | |||
@@ -1392,8 +1392,8 @@ static int snd_usbmidi_get_ms_info(struct snd_usb_midi* umidi, | |||
1392 | for (i = 0; i < intfd->bNumEndpoints; ++i) { | 1392 | for (i = 0; i < intfd->bNumEndpoints; ++i) { |
1393 | hostep = &hostif->endpoint[i]; | 1393 | hostep = &hostif->endpoint[i]; |
1394 | ep = get_ep_desc(hostep); | 1394 | ep = get_ep_desc(hostep); |
1395 | if ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_BULK && | 1395 | if (usb_endpoint_type(ep) != USB_ENDPOINT_XFER_BULK && |
1396 | (ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_INT) | 1396 | usb_endpoint_type(ep) != USB_ENDPOINT_XFER_INT) |
1397 | continue; | 1397 | continue; |
1398 | ms_ep = (struct usb_ms_endpoint_descriptor*)hostep->extra; | 1398 | ms_ep = (struct usb_ms_endpoint_descriptor*)hostep->extra; |
1399 | if (hostep->extralen < 4 || | 1399 | if (hostep->extralen < 4 || |
@@ -1401,15 +1401,15 @@ static int snd_usbmidi_get_ms_info(struct snd_usb_midi* umidi, | |||
1401 | ms_ep->bDescriptorType != USB_DT_CS_ENDPOINT || | 1401 | ms_ep->bDescriptorType != USB_DT_CS_ENDPOINT || |
1402 | ms_ep->bDescriptorSubtype != MS_GENERAL) | 1402 | ms_ep->bDescriptorSubtype != MS_GENERAL) |
1403 | continue; | 1403 | continue; |
1404 | if ((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) { | 1404 | if (usb_endpoint_dir_out(ep)) { |
1405 | if (endpoints[epidx].out_ep) { | 1405 | if (endpoints[epidx].out_ep) { |
1406 | if (++epidx >= MIDI_MAX_ENDPOINTS) { | 1406 | if (++epidx >= MIDI_MAX_ENDPOINTS) { |
1407 | snd_printk(KERN_WARNING "too many endpoints\n"); | 1407 | snd_printk(KERN_WARNING "too many endpoints\n"); |
1408 | break; | 1408 | break; |
1409 | } | 1409 | } |
1410 | } | 1410 | } |
1411 | endpoints[epidx].out_ep = ep->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; | 1411 | endpoints[epidx].out_ep = usb_endpoint_num(ep); |
1412 | if ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) | 1412 | if (usb_endpoint_xfer_int(ep)) |
1413 | endpoints[epidx].out_interval = ep->bInterval; | 1413 | endpoints[epidx].out_interval = ep->bInterval; |
1414 | else if (snd_usb_get_speed(umidi->chip->dev) == USB_SPEED_LOW) | 1414 | else if (snd_usb_get_speed(umidi->chip->dev) == USB_SPEED_LOW) |
1415 | /* | 1415 | /* |
@@ -1428,8 +1428,8 @@ static int snd_usbmidi_get_ms_info(struct snd_usb_midi* umidi, | |||
1428 | break; | 1428 | break; |
1429 | } | 1429 | } |
1430 | } | 1430 | } |
1431 | endpoints[epidx].in_ep = ep->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; | 1431 | endpoints[epidx].in_ep = usb_endpoint_num(ep); |
1432 | if ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) | 1432 | if (usb_endpoint_xfer_int(ep)) |
1433 | endpoints[epidx].in_interval = ep->bInterval; | 1433 | endpoints[epidx].in_interval = ep->bInterval; |
1434 | else if (snd_usb_get_speed(umidi->chip->dev) == USB_SPEED_LOW) | 1434 | else if (snd_usb_get_speed(umidi->chip->dev) == USB_SPEED_LOW) |
1435 | endpoints[epidx].in_interval = 1; | 1435 | endpoints[epidx].in_interval = 1; |
@@ -1495,20 +1495,20 @@ static int snd_usbmidi_detect_endpoints(struct snd_usb_midi* umidi, | |||
1495 | 1495 | ||
1496 | for (i = 0; i < intfd->bNumEndpoints; ++i) { | 1496 | for (i = 0; i < intfd->bNumEndpoints; ++i) { |
1497 | epd = get_endpoint(hostif, i); | 1497 | epd = get_endpoint(hostif, i); |
1498 | if ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_BULK && | 1498 | if (usb_endpoint_type(epd) != USB_ENDPOINT_XFER_BULK && |
1499 | (epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_INT) | 1499 | usb_endpoint_type(epd) != USB_ENDPOINT_XFER_INT) |
1500 | continue; | 1500 | continue; |
1501 | if (out_eps < max_endpoints && | 1501 | if (out_eps < max_endpoints && |
1502 | (epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) { | 1502 | usb_endpoint_dir_out(epd)) { |
1503 | endpoint[out_eps].out_ep = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; | 1503 | endpoint[out_eps].out_ep = usb_endpoint_num(epd); |
1504 | if ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) | 1504 | if (usb_endpoint_xfer_int(epd)) |
1505 | endpoint[out_eps].out_interval = epd->bInterval; | 1505 | endpoint[out_eps].out_interval = epd->bInterval; |
1506 | ++out_eps; | 1506 | ++out_eps; |
1507 | } | 1507 | } |
1508 | if (in_eps < max_endpoints && | 1508 | if (in_eps < max_endpoints && |
1509 | (epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { | 1509 | usb_endpoint_dir_in(epd)) { |
1510 | endpoint[in_eps].in_ep = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; | 1510 | endpoint[in_eps].in_ep = usb_endpoint_num(epd); |
1511 | if ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) | 1511 | if (usb_endpoint_xfer_int(epd)) |
1512 | endpoint[in_eps].in_interval = epd->bInterval; | 1512 | endpoint[in_eps].in_interval = epd->bInterval; |
1513 | ++in_eps; | 1513 | ++in_eps; |
1514 | } | 1514 | } |
@@ -1607,21 +1607,21 @@ static int snd_usbmidi_create_endpoints_midiman(struct snd_usb_midi* umidi, | |||
1607 | } | 1607 | } |
1608 | 1608 | ||
1609 | epd = get_endpoint(hostif, 0); | 1609 | epd = get_endpoint(hostif, 0); |
1610 | if ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) != USB_DIR_IN || | 1610 | if (usb_endpoint_dir_out(epd) || |
1611 | (epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_INT) { | 1611 | usb_endpoint_type(epd) != USB_ENDPOINT_XFER_INT) { |
1612 | snd_printdd(KERN_ERR "endpoint[0] isn't interrupt\n"); | 1612 | snd_printdd(KERN_ERR "endpoint[0] isn't interrupt\n"); |
1613 | return -ENXIO; | 1613 | return -ENXIO; |
1614 | } | 1614 | } |
1615 | epd = get_endpoint(hostif, 2); | 1615 | epd = get_endpoint(hostif, 2); |
1616 | if ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) != USB_DIR_OUT || | 1616 | if (usb_endpoint_dir_in(epd) || |
1617 | (epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_BULK) { | 1617 | usb_endpoint_type(epd) != USB_ENDPOINT_XFER_BULK) { |
1618 | snd_printdd(KERN_ERR "endpoint[2] isn't bulk output\n"); | 1618 | snd_printdd(KERN_ERR "endpoint[2] isn't bulk output\n"); |
1619 | return -ENXIO; | 1619 | return -ENXIO; |
1620 | } | 1620 | } |
1621 | if (endpoint->out_cables > 0x0001) { | 1621 | if (endpoint->out_cables > 0x0001) { |
1622 | epd = get_endpoint(hostif, 4); | 1622 | epd = get_endpoint(hostif, 4); |
1623 | if ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) != USB_DIR_OUT || | 1623 | if (usb_endpoint_dir_in(epd) || |
1624 | (epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_BULK) { | 1624 | usb_endpoint_type(epd) != USB_ENDPOINT_XFER_BULK) { |
1625 | snd_printdd(KERN_ERR "endpoint[4] isn't bulk output\n"); | 1625 | snd_printdd(KERN_ERR "endpoint[4] isn't bulk output\n"); |
1626 | return -ENXIO; | 1626 | return -ENXIO; |
1627 | } | 1627 | } |
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index a49246113e75..9ce626f0e36b 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c | |||
@@ -1755,11 +1755,11 @@ static int snd_usb_mixer_status_create(struct usb_mixer_interface *mixer) | |||
1755 | if (get_iface_desc(hostif)->bNumEndpoints < 1) | 1755 | if (get_iface_desc(hostif)->bNumEndpoints < 1) |
1756 | return 0; | 1756 | return 0; |
1757 | ep = get_endpoint(hostif, 0); | 1757 | ep = get_endpoint(hostif, 0); |
1758 | if ((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) != USB_DIR_IN || | 1758 | if (usb_endpoint_dir_out(ep) || |
1759 | (ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) != USB_ENDPOINT_XFER_INT) | 1759 | usb_endpoint_type(ep) != USB_ENDPOINT_XFER_INT) |
1760 | return 0; | 1760 | return 0; |
1761 | 1761 | ||
1762 | epnum = ep->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; | 1762 | epnum = usb_endpoint_num(ep); |
1763 | buffer_length = le16_to_cpu(ep->wMaxPacketSize); | 1763 | buffer_length = le16_to_cpu(ep->wMaxPacketSize); |
1764 | transfer_buffer = kmalloc(buffer_length, GFP_KERNEL); | 1764 | transfer_buffer = kmalloc(buffer_length, GFP_KERNEL); |
1765 | if (!transfer_buffer) | 1765 | if (!transfer_buffer) |