linux/drivers/phy
Tony Lindgren 96be39ab34 usb: phy: twl4030-usb: Fix regressions to runtime PM on omaps
Commit 30a70b026b ("usb: musb: fix obex in g_nokia.ko causing kernel
panic") attempted to fix runtime PM handling for PHYs that are on the
I2C bus. Commit 3063a12be2 ("usb: musb: fix PHY power on/off") then
changed things around to enable of PHYs that rely on runtime PM.

These changes however broke idling of the PHY and causes at least
100 mW extra power consumption on omaps, which is a lot with
the idle power consumption being below 10 mW range on many devices.

As calling phy_power_on/off from runtime PM calls in the USB
causes complicated issues with I2C connected PHYs, let's just let
the PHY do it's own runtime PM as needed. This leaves out the
dependency between PHYs and USB controller drivers for runtime
PM.

Let's fix the regression for twl4030-usb by adding minimal runtime
PM support. This allows idling the PHY on disconnect.

Note that we are changing to use standard runtime PM handling
for twl4030_phy_init() as that function just checks the state
and does not initialize the PHY. The PHY won't get initialized
until in twl4030_phy_power_on().

Fixes: 30a70b026b ("usb: musb: fix obex in g_nokia.ko causing kernel panic")
Fixes: 3063a12be2 ("usb: musb: fix PHY power on/off")
Cc: stable@vger.kernel.org # v3.15+
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-08-24 17:47:53 +05:30
..
Kconfig ARM: SoC driver changes for 3.17 2014-08-08 11:34:32 -07:00
Makefile ARM: SoC driver changes for 3.17 2014-08-08 11:34:32 -07:00
phy-bcm-kona-usb2.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-berlin-sata.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-core.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-exynos4x12-usb2.c drivers: phy: exynos-usb2: add support for Exynos 3250 2014-07-22 12:46:10 +05:30
phy-exynos5-usbdrd.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-exynos4210-usb2.c phy: Add new Exynos USB 2.0 PHY driver 2014-03-08 12:39:44 +05:30
phy-exynos5250-sata.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-exynos5250-usb2.c phy: phy-samsung-usb2: Change phy power on/power off sequence 2014-07-22 12:46:10 +05:30
phy-exynos-dp-video.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-exynos-mipi-video.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-hix5hd2-sata.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-miphy365x.c phy: miphy365x: Represent each PHY channel as a DT subnode 2014-07-22 12:46:43 +05:30
phy-mvebu-sata.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-omap-control.c phy: pipe3: insert delay to enumerate in GEN2 mode 2014-07-22 12:46:10 +05:30
phy-omap-usb2.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-qcom-apq8064-sata.c phy: qcom-apq8064: fix possible timeout without check 2014-07-22 12:46:12 +05:30
phy-qcom-ipq806x-sata.c phy: qcom: Add driver for QCOM IPQ806x SATA PHY 2014-07-22 12:46:12 +05:30
phy-s5pv210-usb2.c phy: Add support for S5PV210 to the Exynos USB 2.0 PHY driver 2014-07-19 04:25:09 +09:00
phy-samsung-usb2.c ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
phy-samsung-usb2.h ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
phy-spear1310-miphy.c ARM: SoC driver changes for 3.17 2014-08-08 11:34:32 -07:00
phy-spear1340-miphy.c ARM: SoC driver changes for 3.17 2014-08-08 11:34:32 -07:00
phy-sun4i-usb.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-ti-pipe3.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30
phy-twl4030-usb.c usb: phy: twl4030-usb: Fix regressions to runtime PM on omaps 2014-08-24 17:47:53 +05:30
phy-xgene.c phy: core: Let node ptr of PHY point to PHY and not of PHY provider 2014-07-22 12:46:11 +05:30