From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759803AbcHENzI (ORCPT ); Fri, 5 Aug 2016 09:55:08 -0400 Received: from muru.com ([72.249.23.125]:45064 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753532AbcHENzF (ORCPT ); Fri, 5 Aug 2016 09:55:05 -0400 Date: Fri, 5 Aug 2016 06:55:01 -0700 From: Tony Lindgren To: Andreas Kemnade Cc: Discussions about the Letux Kernel , Linux USB Mailing List , LKML , Greg Kroah-Hartman , linux-omap , Bin Liu Subject: Re: [Letux-kernel] [PATCH v2] musb: omap2430: do not assume balanced enable()/disable() Message-ID: <20160805135501.GJ28140@atomide.com> References: <1470238731-32358-1-git-send-email-andreas@kemnade.info> <20160804142919.GG28140@atomide.com> <20160804183129.2e0cac71@aktux> <20160804184402.73963e8a@aktux> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160804184402.73963e8a@aktux> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Andreas Kemnade [160804 09:44]: > Nothing happens here, so the previous state of the phy remains. > It would be disabled by the generic phy layer in drivers/phy/phy-core.c > > > gadget driver is loaded. > > musb_start() is called > > omap2430_musb_enable() is called > > calls phy_power_on(), > > phy->power_count goes to 0, > > phy is not powered on because power_count != 1 > > -> no gadget working, no charging. > > > ... if not configured by u-boot before. USB gadget might work when > initialized earlier in the boot process (u-boot/x-loader/mlo ...) > and phy-twl4030 cannot do anything about it besides if we change > drivers/phy/phy-core.c Ssounds like an issue in the phy-twl4030-usb.c. Let's try to figure out what all we need set there for the various components there. PM runtime for phy-twl4030-usb.c should be for the whole PHY device including all it's components. Then the charger and MUSB should separately increment the PM runtime count and then enable the component specific things. And then we have the errata to deal with when VBUS is enabled. If there are MUSB specific PM runtime issues then let's fix those separately. Regards, Tony