[alsa-devel] [PATCH 11/13] sound/usb: use USB API functions rather than constants

Takashi Iwai tiwai at suse.de
Thu Jan 1 10:37:53 CET 2009


At Mon, 29 Dec 2008 11:23:02 +0100 (CET),
Julia Lawall wrote:
> 
> From: Julia Lawall <julia at diku.dk>
> 
> 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 at diku.dk>

Applied now.  Thanks.


Takashi


More information about the Alsa-devel mailing list