From patchwork Wed Sep 7 21:35:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 9320067 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id C8FA5607D3 for ; Wed, 7 Sep 2016 21:41:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D392B29435 for ; Wed, 7 Sep 2016 21:41:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C845C29438; Wed, 7 Sep 2016 21:41:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 407FC29435 for ; Wed, 7 Sep 2016 21:41:37 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bhkZn-0003Y3-Cw; Wed, 07 Sep 2016 21:40:11 +0000 Received: from mail-pf0-x229.google.com ([2607:f8b0:400e:c00::229]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bhkVZ-0001TA-6u for linux-arm-kernel@lists.infradead.org; Wed, 07 Sep 2016 21:35:51 +0000 Received: by mail-pf0-x229.google.com with SMTP id p64so10488983pfb.1 for ; Wed, 07 Sep 2016 14:35:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=uch56ZvhF5xp5y6dvw/o5yQzsyDzQXKAfAJl8gmsyJk=; b=VS2aZJ/Co5Mc90gn155hUHAc19IwDqlxnjVimmfkP4lpIkHNj57ELtRAJ1ZmlNt8Va 7NKWXUg6KQ/062X19MpPNU1I4Uuvl3qxoG+i4SDxm5JasM6QWgvX2P2qJAcc/Ws+Iebe pDIbPmGfc/9VNoE90oiepN9PG6g/rr7zZYaYI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=uch56ZvhF5xp5y6dvw/o5yQzsyDzQXKAfAJl8gmsyJk=; b=OxMMtcn0F835WI+93fHF5P1pKaEOPZzTrKF/MiHRC1jhTEsDxssPZRCU27eVkhnXhH Xlzu6ayqxnV22EYUBBDS0jX4BuGOuIV7FrZBDkbKkLHEsKjoMzJlH7cihjwkNkMq2TX0 3U8RvlF1QzjU1J+hibiTo5v8TZAiRrqPMcwG1W4mEUWxhL9bTfzCsY+BeIp055UhJKvK g1PVCX2hu0fcLY2Jt2sfpct4fXJ6TzhKizfXeSO03mKBNZEPz1aJqRebLhW8YTybxJmL mE7S3sRCVsklDzhsk+/BqSnw3bIrL5DTi28klK/2izemcPlLOJ0kuA3wCEq0ptvmqbmm dDTA== X-Gm-Message-State: AE9vXwPQmxtcjFudA9dlFH5RU90VFMGqPH7VC9sYaOJtECFZ6nrbQsnQ97XkChmGgZ0bH1AB X-Received: by 10.98.57.151 with SMTP id u23mr86114244pfj.4.1473284130726; Wed, 07 Sep 2016 14:35:30 -0700 (PDT) Received: from localhost.localdomain (ip68-101-172-78.sd.sd.cox.net. [68.101.172.78]) by smtp.gmail.com with ESMTPSA id 75sm51015417pfw.92.2016.09.07.14.35.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 07 Sep 2016 14:35:30 -0700 (PDT) From: Stephen Boyd To: linux-usb@vger.kernel.org Subject: [PATCH v4 07/22] usb: chipidea: Notify events when switching host mode Date: Wed, 7 Sep 2016 14:35:04 -0700 Message-Id: <20160907213519.27340-8-stephen.boyd@linaro.org> X-Mailer: git-send-email 2.9.0.rc2.8.ga28705d In-Reply-To: <20160907213519.27340-1-stephen.boyd@linaro.org> References: <20160907213519.27340-1-stephen.boyd@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160907_143549_416193_9E119A24 X-CRM114-Status: GOOD ( 14.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Felipe Balbi , Arnd Bergmann , Neil Armstrong , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , Peter Chen , Greg Kroah-Hartman , Andy Gross , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The chipidea/udc.c file sends a CI_HDRC_CONTROLLER_RESET_EVENT to the wrapper drivers when it calls hw_device_reset(), but that function is not called from chipidea/host.c. And the udc.c file sends the CI_HDRC_CONTROLLER_STOPPED_EVENT but the host.c file doesn't do anything. The intent of the reset event is to allow the wrapper driver to do any wrapper specific things after the reset bit has been set in the usb command register. Therefore, add this event hook in the host role after we toggle that bit. Similarly, the intent of the stopped event is to allow the wrapper driver to do any wrapper specific things after the device is stopped. So when we stop the host role, send the stopped event. Acked-by: Peter Chen Cc: Greg Kroah-Hartman Signed-off-by: Stephen Boyd --- drivers/usb/chipidea/host.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index 053bac9d983c..a1d8551ca79d 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c @@ -87,6 +87,9 @@ static int ehci_ci_reset(struct usb_hcd *hcd) if (ret) return ret; + if (ci->platdata->notify_event) + ci->platdata->notify_event(ci, CI_HDRC_CONTROLLER_RESET_EVENT); + ci_platform_configure(ci); return ret; @@ -184,6 +187,9 @@ static void host_stop(struct ci_hdrc *ci) struct usb_hcd *hcd = ci->hcd; if (hcd) { + if (ci->platdata->notify_event) + ci->platdata->notify_event(ci, + CI_HDRC_CONTROLLER_STOPPED_EVENT); usb_remove_hcd(hcd); usb_put_hcd(hcd); if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci) &&