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;
 
        /* 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 */);
 
        /* 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 */);
 
        /* 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 */);
 
        /* 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 */);
 
        /* 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) {