linux/drivers/phy/motorola
Tony Lindgren 2ad2af0816 phy: mapphone-mdm6600: Improve phy related runtime PM calls
I noticed that phy_pm_runtime_get_sync() and phy_pm_runtime_put() are not
currently doing anything for phy-mapphone-mdm6600, only the sysfs interface
for works for "auto" and "on".

This is because of the shared GPIO pins between mdm6600 USB port and n_gsm
port. We have not enabled runtime PM for the phy driver until after we've
booted up mdm6600 properly to the USB mode. Otherwise phy_create() would
have called pm_runtime_enable() and pm_runtime_no_callbacks() automatically
on init.

Let's fix this by registering the phy a bit later after we've powered up
the mdm6600 USB port.

And as the PM runtime support is only needed for the n_gsm mode and not for
USB, we can allow the device to idle between phy_mdm6600_power_on() and
phy_mdm6600_power_off(). Note that for suspend, runtime_pm is already
disabled for the phy so we need to check for pm_runtime_enabled().

Cc: Johan Hovold <jhovold@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2018-12-12 10:01:39 +05:30
..
Kconfig phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4 2018-03-16 16:55:30 +05:30
Makefile phy: mapphone-mdm6600: Add USB PHY driver for MDM6600 on Droid 4 2018-03-16 16:55:30 +05:30
phy-cpcap-usb.c phy: cpcap-usb: Fix platform_get_irq_byname's error checking. 2017-12-15 16:00:39 +05:30
phy-mapphone-mdm6600.c phy: mapphone-mdm6600: Improve phy related runtime PM calls 2018-12-12 10:01:39 +05:30