* [PATCH 12/13] drivers/usb/musb: use USB API functions rather than
@ 2008-12-29 10:23 ` Julia Lawall
0 siblings, 0 replies; 4+ messages in thread
From: Julia Lawall @ 2008-12-29 10:23 UTC (permalink / raw)
To: felipe.balbi, linux-usb, gregkh, linux-kernel, kernel-janitors
From: Julia Lawall <julia@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@diku.dk>
---
drivers/usb/musb/musb_gadget.c | 6 +++---
drivers/usb/musb/musb_host.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
index 6197dae..4ea3053 100644
--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -874,10 +874,10 @@ static int musb_gadget_enable(struct usb_ep *ep,
status = -EBUSY;
goto fail;
}
- musb_ep->type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
+ musb_ep->type = usb_endpoint_type(desc);
/* check direction and (later) maxpacket size against endpoint */
- if ((desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) != epnum)
+ if (usb_endpoint_num(desc) != epnum)
goto fail;
/* REVISIT this rules out high bandwidth periodic transfers */
@@ -890,7 +890,7 @@ static int musb_gadget_enable(struct usb_ep *ep,
* packet size (or fail), set the mode, clear the fifo
*/
musb_ep_select(mbase, epnum);
- if (desc->bEndpointAddress & USB_DIR_IN) {
+ if (usb_endpoint_dir_in(desc)) {
u16 int_txe = musb_readw(mbase, MUSB_INTRTXE);
if (hw_ep->is_shared_fifo)
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index 99fa612..a035cec 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -1847,8 +1847,8 @@ static int musb_urb_enqueue(
goto done;
}
- qh->epnum = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
- qh->type = epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
+ qh->epnum = usb_endpoint_num(epd);
+ qh->type = usb_endpoint_type(epd);
/* NOTE: urb->dev->devnum is wrong during SET_ADDRESS */
qh->addr_reg = (u8) usb_pipedevice(urb->pipe);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 12/13] drivers/usb/musb: use USB API functions rather than constants
@ 2008-12-29 10:23 ` Julia Lawall
0 siblings, 0 replies; 4+ messages in thread
From: Julia Lawall @ 2008-12-29 10:23 UTC (permalink / raw)
To: felipe.balbi, linux-usb, gregkh, linux-kernel, kernel-janitors
From: Julia Lawall <julia@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@diku.dk>
---
drivers/usb/musb/musb_gadget.c | 6 +++---
drivers/usb/musb/musb_host.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
index 6197dae..4ea3053 100644
--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -874,10 +874,10 @@ static int musb_gadget_enable(struct usb_ep *ep,
status = -EBUSY;
goto fail;
}
- musb_ep->type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
+ musb_ep->type = usb_endpoint_type(desc);
/* check direction and (later) maxpacket size against endpoint */
- if ((desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) != epnum)
+ if (usb_endpoint_num(desc) != epnum)
goto fail;
/* REVISIT this rules out high bandwidth periodic transfers */
@@ -890,7 +890,7 @@ static int musb_gadget_enable(struct usb_ep *ep,
* packet size (or fail), set the mode, clear the fifo
*/
musb_ep_select(mbase, epnum);
- if (desc->bEndpointAddress & USB_DIR_IN) {
+ if (usb_endpoint_dir_in(desc)) {
u16 int_txe = musb_readw(mbase, MUSB_INTRTXE);
if (hw_ep->is_shared_fifo)
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index 99fa612..a035cec 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -1847,8 +1847,8 @@ static int musb_urb_enqueue(
goto done;
}
- qh->epnum = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
- qh->type = epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
+ qh->epnum = usb_endpoint_num(epd);
+ qh->type = usb_endpoint_type(epd);
/* NOTE: urb->dev->devnum is wrong during SET_ADDRESS */
qh->addr_reg = (u8) usb_pipedevice(urb->pipe);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 12/13] drivers/usb/musb: use USB API functions rather
2008-12-29 10:23 ` [PATCH 12/13] drivers/usb/musb: use USB API functions rather than constants Julia Lawall
@ 2009-01-23 17:31 ` Felipe Balbi
-1 siblings, 0 replies; 4+ messages in thread
From: Felipe Balbi @ 2009-01-23 17:31 UTC (permalink / raw)
To: Julia Lawall
Cc: felipe.balbi, linux-usb, gregkh, linux-kernel, kernel-janitors
On Mon, Dec 29, 2008 at 11:23:22AM +0100, Julia Lawall wrote:
> From: Julia Lawall <julia@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@diku.dk>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
> ---
> drivers/usb/musb/musb_gadget.c | 6 +++---
> drivers/usb/musb/musb_host.c | 4 ++--
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
> index 6197dae..4ea3053 100644
> --- a/drivers/usb/musb/musb_gadget.c
> +++ b/drivers/usb/musb/musb_gadget.c
> @@ -874,10 +874,10 @@ static int musb_gadget_enable(struct usb_ep *ep,
> status = -EBUSY;
> goto fail;
> }
> - musb_ep->type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
> + musb_ep->type = usb_endpoint_type(desc);
>
> /* check direction and (later) maxpacket size against endpoint */
> - if ((desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) != epnum)
> + if (usb_endpoint_num(desc) != epnum)
> goto fail;
>
> /* REVISIT this rules out high bandwidth periodic transfers */
> @@ -890,7 +890,7 @@ static int musb_gadget_enable(struct usb_ep *ep,
> * packet size (or fail), set the mode, clear the fifo
> */
> musb_ep_select(mbase, epnum);
> - if (desc->bEndpointAddress & USB_DIR_IN) {
> + if (usb_endpoint_dir_in(desc)) {
> u16 int_txe = musb_readw(mbase, MUSB_INTRTXE);
>
> if (hw_ep->is_shared_fifo)
> diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
> index 99fa612..a035cec 100644
> --- a/drivers/usb/musb/musb_host.c
> +++ b/drivers/usb/musb/musb_host.c
> @@ -1847,8 +1847,8 @@ static int musb_urb_enqueue(
> goto done;
> }
>
> - qh->epnum = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
> - qh->type = epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
> + qh->epnum = usb_endpoint_num(epd);
> + qh->type = usb_endpoint_type(epd);
>
> /* NOTE: urb->dev->devnum is wrong during SET_ADDRESS */
> qh->addr_reg = (u8) usb_pipedevice(urb->pipe);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
balbi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 12/13] drivers/usb/musb: use USB API functions rather than constants
@ 2009-01-23 17:31 ` Felipe Balbi
0 siblings, 0 replies; 4+ messages in thread
From: Felipe Balbi @ 2009-01-23 17:31 UTC (permalink / raw)
To: Julia Lawall
Cc: felipe.balbi, linux-usb, gregkh, linux-kernel, kernel-janitors
On Mon, Dec 29, 2008 at 11:23:22AM +0100, Julia Lawall wrote:
> From: Julia Lawall <julia@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@diku.dk>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
> ---
> drivers/usb/musb/musb_gadget.c | 6 +++---
> drivers/usb/musb/musb_host.c | 4 ++--
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
> index 6197dae..4ea3053 100644
> --- a/drivers/usb/musb/musb_gadget.c
> +++ b/drivers/usb/musb/musb_gadget.c
> @@ -874,10 +874,10 @@ static int musb_gadget_enable(struct usb_ep *ep,
> status = -EBUSY;
> goto fail;
> }
> - musb_ep->type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
> + musb_ep->type = usb_endpoint_type(desc);
>
> /* check direction and (later) maxpacket size against endpoint */
> - if ((desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) != epnum)
> + if (usb_endpoint_num(desc) != epnum)
> goto fail;
>
> /* REVISIT this rules out high bandwidth periodic transfers */
> @@ -890,7 +890,7 @@ static int musb_gadget_enable(struct usb_ep *ep,
> * packet size (or fail), set the mode, clear the fifo
> */
> musb_ep_select(mbase, epnum);
> - if (desc->bEndpointAddress & USB_DIR_IN) {
> + if (usb_endpoint_dir_in(desc)) {
> u16 int_txe = musb_readw(mbase, MUSB_INTRTXE);
>
> if (hw_ep->is_shared_fifo)
> diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
> index 99fa612..a035cec 100644
> --- a/drivers/usb/musb/musb_host.c
> +++ b/drivers/usb/musb/musb_host.c
> @@ -1847,8 +1847,8 @@ static int musb_urb_enqueue(
> goto done;
> }
>
> - qh->epnum = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
> - qh->type = epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
> + qh->epnum = usb_endpoint_num(epd);
> + qh->type = usb_endpoint_type(epd);
>
> /* NOTE: urb->dev->devnum is wrong during SET_ADDRESS */
> qh->addr_reg = (u8) usb_pipedevice(urb->pipe);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
balbi
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-01-23 17:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-29 10:23 [PATCH 12/13] drivers/usb/musb: use USB API functions rather than Julia Lawall
2008-12-29 10:23 ` [PATCH 12/13] drivers/usb/musb: use USB API functions rather than constants Julia Lawall
2009-01-23 17:31 ` [PATCH 12/13] drivers/usb/musb: use USB API functions rather Felipe Balbi
2009-01-23 17:31 ` [PATCH 12/13] drivers/usb/musb: use USB API functions rather than constants Felipe Balbi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.