int s5p_usb_phy_resume(struct platform_device *pdev, int type) { int ret = 0; if (exynos_usb_phy_clock_enable(pdev)) return 0; mutex_lock(&phy_lock); if (usb_phy_control.flags) goto done; if (type == S5P_USB_PHY_HOST) { if (soc_is_exynos4210() || soc_is_exynos4212() || soc_is_exynos4412()) ret = exynos4_usb_phy1_resume(pdev); else ret = exynos5_usb_phy_host_resume(pdev); } done: if (!strcmp(pdev->name, "s5p-ehci")) set_bit(HOST_PHY_EHCI, &usb_phy_control.flags); else if (!strcmp(pdev->name, "s5p-ohci")) set_bit(HOST_PHY_OHCI, &usb_phy_control.flags); mutex_unlock(&phy_lock); exynos_usb_phy_clock_disable(pdev); return ret; }
int s5p_usb_phy_resume(struct platform_device *pdev, int type) { if (type == S5P_USB_PHY_HOST) return exynos4_usb_phy1_resume(pdev); return -EINVAL; }
int s5p_usb_phy_resume(struct platform_device *pdev, int type) { int ret = 0; #ifdef CONFIG_USB_OHCI_S5P u32 phyclk; #endif if (exynos_usb_phy_clock_enable(pdev)) return 0; mutex_lock(&phy_lock); if (usb_phy_control.flags) goto done; if (type == S5P_USB_PHY_HOST) { if (soc_is_exynos4210() || soc_is_exynos4212() || soc_is_exynos4412()) { #ifdef CONFIG_USB_OHCI_S5P phyclk = readl(EXYNOS4_PHYCLK); phyclk |= PHY1_COMMON_ON_N; writel(phyclk, EXYNOS4_PHYCLK); #endif ret = exynos4_usb_phy1_resume(pdev); } else ret = exynos5_usb_phy_host_resume(pdev); } done: if (!strcmp(pdev->name, "s5p-ehci")) set_bit(HOST_PHY_EHCI, &usb_phy_control.flags); else if (!strcmp(pdev->name, "s5p-ohci")) set_bit(HOST_PHY_OHCI, &usb_phy_control.flags); mutex_unlock(&phy_lock); exynos_usb_phy_clock_disable(pdev); return ret; }