This patch provides another example of PIO API usage. In this case, there is no struct page information in the HCD driver and the pio_begin()/pio_end() functions are used. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> --- drivers/usb/host/isp1760-hcd.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/drivers/usb/host/isp1760-hcd.c b/drivers/usb/host/isp1760-hcd.c index 27b8f7c..402f676 100644 --- a/drivers/usb/host/isp1760-hcd.c +++ b/drivers/usb/host/isp1760-hcd.c @@ -17,6 +17,7 @@ #include <linux/debugfs.h> #include <linux/uaccess.h> #include <linux/io.h> +#include <linux/pio-mapping.h> #include <asm/unaligned.h> #include "../core/hcd.h" @@ -904,6 +905,9 @@ __acquires(priv->lock) status = 0; } + pio_end(urb->transfer_buffer, urb->transfer_buffer_length, + usb_pipein(urb->pipe) ? DMA_FROM_DEVICE : DMA_TO_DEVICE); + /* complete() can reenter this HCD */ usb_hcd_unlink_urb_from_ep(priv_to_hcd(priv), urb); spin_unlock(&priv->lock); @@ -1538,6 +1542,9 @@ static struct list_head *qh_urb_transaction(struct isp1760_hcd *priv, */ buf = urb->transfer_buffer; + pio_begin(buf, urb->transfer_buffer_length, + usb_pipein(urb->pipe) ? DMA_FROM_DEVICE : DMA_TO_DEVICE); + if (is_input) token |= IN_PID; else -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html