From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Subject: Re: [PATCH v9 REBASE 6/9] USB: notify phy when root hub port connect change Date: Tue, 10 Jul 2012 05:22:20 +0200 Message-ID: <201207100522.21162.marex@denx.de> References: <1341673008-29808-1-git-send-email-richard.zhao@freescale.com> <1341673008-29808-7-git-send-email-richard.zhao@freescale.com> <20120710031426.GG26888@b20223-02.ap.freescale.net> Mime-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20120710031426.GG26888-iWYTGMXpHj9ITqJhDdzsOjpauB2SiJktrE5yTffgRl4@public.gmane.org> Sender: linux-usb-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Richard Zhao Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, B29397-KZfg59tc24xl57MIdRCFDg@public.gmane.org, B20596-KZfg59tc24xl57MIdRCFDg@public.gmane.org, shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, alexander.shishkin-VuQAYsv1563Yd54FQh9/CA@public.gmane.org, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org, fabio.estevam-KZfg59tc24xl57MIdRCFDg@public.gmane.org, dong.aisheng-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org, linuxzsc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, balbi-l0cyMroinI0@public.gmane.org, mkl-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org List-Id: devicetree@vger.kernel.org Dear Richard Zhao, > On Sat, Jul 07, 2012 at 10:56:45PM +0800, Richard Zhao wrote: > > Phy may need to change settings when port connect change. > > > > Signed-off-by: Richard Zhao > > Tested-by: Subodh Nijsure > > --- > > > > drivers/usb/core/hub.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > > index 4cc8dc9..2ba9d84 100644 > > --- a/drivers/usb/core/hub.c > > +++ b/drivers/usb/core/hub.c > > @@ -20,6 +20,7 @@ > > > > #include > > #include > > #include > > > > +#include > > > > #include > > #include > > #include > > > > @@ -4037,6 +4038,13 @@ static void hub_port_connect_change(struct usb_hub > > *hub, int port1, > > > > } > > > > } > > > > + if (unlikely(hcd->phy && !hdev->parent)) { > > + if (portstatus & USB_PORT_STAT_CONNECTION) > > + usb_phy_notify_connect(hcd->phy, port1); > > + else > > + usb_phy_notify_disconnect(hcd->phy, port1); > > There's another issue. When hcd is removed, notify disconnect is not > called. Is it ok, if I remove the above two line and add below patch: > > --- a/drivers/usb/core/hub.c > +++ b/drivers/usb/core/hub.c > @@ -1924,6 +1924,11 @@ void usb_disconnect(struct usb_device **pdev) > */ > device_del(&udev->dev); > > + if (udev->parent && !udev->parent->parent) { > + struct usb_hcd *hcd = bus_to_hcd(udev->bus); > + usb_phy_notify_disconnect(hcd->phy, udev->portnum); > + } Shouldn't that go before device_del() ? > + > /* Free the device number and delete the parent's children[] > * (or root_hub) pointer. > */ > > > Thanks > Richard Best regards, Marek Vasut -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html