[Letux-kernel] [PATCH v2] phy-twl4030-usb: initialize charging-related stuff via pm_runtime

Tony Lindgren tony at atomide.com
Thu Aug 25 00:42:44 CEST 2016

* Andreas Kemnade <andreas at kemnade.info> [160824 15:30]:
> twl4030_phy_power_on() initializes some bits which are required for
> charging. As they are not set in twl4030_usb_runtime_resume()
> a call to pm_runtime_get_sync() is not sufficient to enable charging.
> This patch moves the initialization to twl4030_usb_runtime_resume()
> so everything needed for charging is initialized upon
> pm_runtime_get_sync().
> That also gives improved possibilities to debug problems in that area
> because the relevant parts can be checked separately. Charging can be
> enabled without having the musb subsystem active.
> As a side effect this hides some bugs in musb which causes
> unbalanced calls to phy_power_off()/phy_power_on() so that
> phy->power_count becomes -1.
> The result is that e.g. the GTA04 phone (dm3730 + twl4030) works
> finally as a usb gadget again and charging is working.

Thanks for updating it:

Acked-by: Tony Lindgren <tony at atomide.com>

More information about the Letux-kernel mailing list