• Manjunath Goudar's avatar
    USB: EHCI: make ehci-spear a separate driver · 7675d6ba
    Manjunath Goudar authored
    Separate the SPEAr host controller driver from ehci-hcd host code
    so that it can be built as a separate driver module.
    This work is part of enabling multi-platform kernels on ARM;
    however, note that other changes are still needed before SPEAr can be
    booted with a multi-platform kernel, but they are queued in the
    arm-soc tree for 3.10.
    
    With the infrastructure added by Alan Stern in patch 3e023203
    "USB: EHCI: prepare to make ehci-hcd a library module", we can
    avoid this problem by turning a bus glue into a separate
    module, as we do here for the SPEAr bus glue.
    
    In V4 (arnd):
     - renamed all 'struct spear_ehci' pointers from 'ehci' to the
       less ambiguous 'sehci'.
     - folded trivial spear_start_ehci/spear_stop_ehci functions into
       callers.
     - brought back initialization of ehci->caps.
    
    In V3:
     - Detailed commit message added here about why this patch is required.
     - Eliminated ehci_spear_setup routine because hcd registers can
       be directly set in the spear_ehci_hcd_drv_probe function.
     - spear_overrides struct initialized.
     - Converted to using .extra_priv_size for allocating spear_ehci,
       and updated all users of that structure.
     - to_spear_ehci() macro modified for spear_ehci.
    
    In V2:
     - Replaced spear as SPEAr everywhere, leaving functions/variables/config options.
    Signed-off-by: default avatarDeepak Saxena <dsaxena@linaro.org>
    Signed-off-by: default avatarManjunath Goudar <manjunath.goudar@linaro.org>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarViresh Kumar <viresh.linux@gmail.com>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Cc: Shiraz Hashim <shiraz.hashim@st.com>
    Cc: spear-devel@list.st.com
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    7675d6ba
ehci-hcd.c 38.6 KB