On Thu, 9 Feb 2017, Peter Chen wrote: > Modified patch like below: > > From 083c2bc7f05b520c51f64ef6b8ee6a0bae499442 Mon Sep 17 00:00:00 2001 > From: Peter Chen <peter.chen@xxxxxxx> > Date: Mon, 6 Feb 2017 14:50:33 +0800 > Subject: [PATCH 1/1] usb: ehci: use bus->sysdev for DMA configuration > > Set the dma for ehci from sysdev. The sysdev is pointing to device that > is known to the system firmware or hardware. > > Cc: Arnd Bergmann <arnd@xxxxxxxx> > Cc: Sriram Dash <sriram.dash@xxxxxxx> > Signed-off-by: Peter Chen <peter.chen@xxxxxxx> > --- > drivers/usb/host/ehci-mem.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/usb/host/ehci-mem.c b/drivers/usb/host/ehci-mem.c > index 4de4301..9b7e639 100644 > --- a/drivers/usb/host/ehci-mem.c > +++ b/drivers/usb/host/ehci-mem.c > @@ -138,7 +138,7 @@ static void ehci_mem_cleanup (struct ehci_hcd *ehci) > ehci->sitd_pool = NULL; > > if (ehci->periodic) > - dma_free_coherent (ehci_to_hcd(ehci)->self.controller, > + dma_free_coherent(ehci_to_hcd(ehci)->self.sysdev, > ehci->periodic_size * sizeof (u32), > ehci->periodic, ehci->periodic_dma); > ehci->periodic = NULL; > @@ -155,7 +155,7 @@ static int ehci_mem_init (struct ehci_hcd *ehci, gfp_t flags) > > /* QTDs for control/bulk/intr transfers */ > ehci->qtd_pool = dma_pool_create ("ehci_qtd", > - ehci_to_hcd(ehci)->self.controller, > + ehci_to_hcd(ehci)->self.sysdev, > sizeof (struct ehci_qtd), > 32 /* byte alignment (for hw parts) */, > 4096 /* can't cross 4K */); > @@ -165,7 +165,7 @@ static int ehci_mem_init (struct ehci_hcd *ehci, gfp_t flags) > > /* QHs for control/bulk/intr transfers */ > ehci->qh_pool = dma_pool_create ("ehci_qh", > - ehci_to_hcd(ehci)->self.controller, > + ehci_to_hcd(ehci)->self.sysdev, > sizeof(struct ehci_qh_hw), > 32 /* byte alignment (for hw parts) */, > 4096 /* can't cross 4K */); > @@ -179,7 +179,7 @@ static int ehci_mem_init (struct ehci_hcd *ehci, gfp_t flags) > > /* ITD for high speed ISO transfers */ > ehci->itd_pool = dma_pool_create ("ehci_itd", > - ehci_to_hcd(ehci)->self.controller, > + ehci_to_hcd(ehci)->self.sysdev, > sizeof (struct ehci_itd), > 32 /* byte alignment (for hw parts) */, > 4096 /* can't cross 4K */); > @@ -189,7 +189,7 @@ static int ehci_mem_init (struct ehci_hcd *ehci, gfp_t flags) > > /* SITD for full/low speed split ISO transfers */ > ehci->sitd_pool = dma_pool_create ("ehci_sitd", > - ehci_to_hcd(ehci)->self.controller, > + ehci_to_hcd(ehci)->self.sysdev, > sizeof (struct ehci_sitd), > 32 /* byte alignment (for hw parts) */, > 4096 /* can't cross 4K */); > @@ -199,7 +199,7 @@ static int ehci_mem_init (struct ehci_hcd *ehci, gfp_t flags) > > /* Hardware periodic table */ > ehci->periodic = (__le32 *) > - dma_alloc_coherent (ehci_to_hcd(ehci)->self.controller, > + dma_alloc_coherent(ehci_to_hcd(ehci)->self.sysdev, > ehci->periodic_size * sizeof(__le32), > &ehci->periodic_dma, flags); > if (ehci->periodic == NULL) { Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html