• Arnd Bergmann's avatar
    usb: phy: tegra: don't call into tegra-ehci directly · ee5d5499
    Arnd Bergmann authored
    Both phy-tegra-usb.c and ehci-tegra.c export symbols used by the other one,
    which does not work if one of them or both are loadable modules, resulting
    in an error like:
    
    drivers/built-in.o: In function `utmi_phy_clk_disable':
    drivers/usb/phy/phy-tegra-usb.c:302: undefined reference to `tegra_ehci_set_phcd'
    drivers/built-in.o: In function `utmi_phy_clk_enable':
    drivers/usb/phy/phy-tegra-usb.c:324: undefined reference to `tegra_ehci_set_phcd'
    drivers/built-in.o: In function `utmi_phy_power_on':
    drivers/usb/phy/phy-tegra-usb.c:447: undefined reference to `tegra_ehci_set_pts'
    
    This turns the interface into a one-way dependency by letting the tegra ehci
    driver pass two function pointers for callbacks that need to be called by
    the phy driver.
    Signed-off-by: 's avatarArnd Bergmann <arnd@arndb.de>
    Cc: Venu Byravarasu <vbyravarasu@nvidia.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Cc: Felipe Balbi <balbi@ti.com>
    Cc: Stephen Warren <swarren@nvidia.com>
    Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ee5d5499
phy-tegra-usb.c 20.5 KB