[Letux-kernel] [PATCH v2] phy-twl4030-usb: initialize charging-related stuff via pm_runtime
Kishon Vijay Abraham I
kishon at a0393678ub.goldelico.private
Sat Sep 10 14:28:09 CEST 2016
On Wed, Aug 24, 2016 at 03:42:44PM -0700, Tony Lindgren wrote:
> * 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