summaryrefslogtreecommitdiff
path: root/drivers/usb/core/hcd.c
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew@wil.cx>2010-05-01 12:20:01 -0600
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-20 13:21:41 -0700
commit910f8d0cede74beff1eee93cf9cf2a28d7600e66 (patch)
tree663cd91c3d4ca2a71937b0dcaad51b02cae3c9c6 /drivers/usb/core/hcd.c
parent1e429018b646bdf903554e92ead1cda96cc552dc (diff)
USB: Change the scatterlist type in struct urb
Change the type of the URB's 'sg' pointer from a usb_sg_request to a scatterlist. This allows drivers to submit scatter-gather lists without using the usb_sg_wait() interface. It has the added benefit of removing the typecasts that were added as part of patch as1368 (and slightly decreasing the number of pointer dereferences). Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Reviewed-by: Alan Stern <stern@rowland.harvard.edu> Tested-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/core/hcd.c')
-rw-r--r--drivers/usb/core/hcd.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index 0abc5c537f39..297c92e4bf8d 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1278,7 +1278,7 @@ static void unmap_urb_for_dma(struct usb_hcd *hcd, struct urb *urb)
dir = usb_urb_dir_in(urb) ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
if (urb->transfer_flags & URB_DMA_MAP_SG)
dma_unmap_sg(hcd->self.controller,
- urb->sg->sg,
+ urb->sg,
urb->num_sgs,
dir);
else if (urb->transfer_flags & URB_DMA_MAP_PAGE)
@@ -1346,7 +1346,7 @@ static int map_urb_for_dma(struct usb_hcd *hcd, struct urb *urb,
if (urb->num_sgs) {
int n = dma_map_sg(
hcd->self.controller,
- urb->sg->sg,
+ urb->sg,
urb->num_sgs,
dir);
if (n <= 0)
@@ -1359,9 +1359,7 @@ static int map_urb_for_dma(struct usb_hcd *hcd, struct urb *urb,
URB_DMA_SG_COMBINED;
}
} else if (urb->sg) {
- struct scatterlist *sg;
-
- sg = (struct scatterlist *) urb->sg;
+ struct scatterlist *sg = urb->sg;
urb->transfer_dma = dma_map_page(
hcd->self.controller,
sg_page(sg),