• Sarah Sharp's avatar
    xhci: Change hcd_priv into a pointer. · b02d0ed6
    Sarah Sharp authored
    Instead of allocating space for the whole xhci_hcd structure at the end of
    usb_hcd, make the USB core allocate enough space for a pointer to the
    xhci_hcd structure.  This will make it easy to share the xhci_hcd
    structure across the two roothubs (the USB 3.0 usb_hcd and the USB 2.0
    usb_hcd).
    
    Deallocate the xhci_hcd at PCI remove time, so the hcd_priv will be
    deallocated after the usb_hcd is deallocated.  We do this by registering a
    different PCI remove function that calls the usb_hcd_pci_remove()
    function, and then frees the xhci_hcd.  usb_hcd_pci_remove() calls
    kput() on the usb_hcd structure, which will deallocate the memory that
    contains the hcd_priv pointer, but not the memory it points to.
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    b02d0ed6
xhci.h 52.3 KB