From patchwork Tue Oct 18 01:56:20 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 9381081 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 EC6606086B for ; Tue, 18 Oct 2016 01:59:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D4CB928CB7 for ; Tue, 18 Oct 2016 01:59:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C97FE28CD7; Tue, 18 Oct 2016 01:59:53 +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 65C7228CB7 for ; Tue, 18 Oct 2016 01:59:53 +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 1bwJfj-0000Xj-PR; Tue, 18 Oct 2016 01:58:31 +0000 Received: from mail-pa0-x232.google.com ([2607:f8b0:400e:c03::232]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bwJeM-0008Ks-Og for linux-arm-kernel@lists.infradead.org; Tue, 18 Oct 2016 01:57:10 +0000 Received: by mail-pa0-x232.google.com with SMTP id qn10so66413515pac.2 for ; Mon, 17 Oct 2016 18:56:47 -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=TT89TRkCUUNi5+eX08VfuJcfTYKf/4LQ/20QdvWg87E=; b=OqbzzJXoUIO7FHEuK9U+pPy3jL1qlqgU4Ldu/fSfB/yTtciR711keQYSxx3bzQoQh9 lMZj0+nhcOh300VpA88Yl4dl9SCNJ3RnZ5jBO11gx2goX/lViWcpxb8aaj3FrKav/r06 i7K3FcHQGRXmHfuaUzwD42xXjIBz7wegF4uAs= 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=TT89TRkCUUNi5+eX08VfuJcfTYKf/4LQ/20QdvWg87E=; b=jH78GINk2W21gkDl3evezyFz94koSQT29qM1jeb0CXNigkmRod0Ew8C/Jea8qV9ZB4 kX1c0We6jLFv64xmKPeSXSDp8F+wKCiH+kkOvXkYIKhua/6oSLkguUnw9Yi0fgw1MPjK uRYGlfDJo85szb1G9G3I/oBtzx2ITasvNe5W0ci9qTRwhTyyLcH9eS7PZ3DCIK/1/WBa lmd+kuo1VbdrMOUbml3Fam3gaE9nXO38XvNEaWninbHVQl88rEYkfXFt7OIIVou7TtcD tZdFJwdHWx2AqrRxL0wLR/PcfpXb4jhhyKI/cQckffm4mIzr2V+muVEyER/9Eh00SEUH luXw== X-Gm-Message-State: AA6/9RlMZkIWCFqbqIwMnLmBu3uZiH1q8tQ4UMOCRI5zEnaFLTRRJArV0/PjqsfuzITeVe6X X-Received: by 10.66.88.40 with SMTP id bd8mr606566pab.6.1476755806726; Mon, 17 Oct 2016 18:56:46 -0700 (PDT) Received: from localhost.localdomain (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id j6sm51020430paa.44.2016.10.17.18.56.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 17 Oct 2016 18:56:46 -0700 (PDT) From: Stephen Boyd To: linux-usb@vger.kernel.org Subject: [PATCH v5 07/23] usb: chipidea: Notify events when switching host mode Date: Mon, 17 Oct 2016 18:56:20 -0700 Message-Id: <20161018015636.11701-8-stephen.boyd@linaro.org> X-Mailer: git-send-email 2.10.0.297.gf6727b0 In-Reply-To: <20161018015636.11701-1-stephen.boyd@linaro.org> References: <20161018015636.11701-1-stephen.boyd@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20161017_185706_989934_A939EEC7 X-CRM114-Status: GOOD ( 15.26 ) 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 96ae69502c86..f036a9e39ced 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c @@ -90,6 +90,9 @@ static int ehci_ci_reset(struct usb_hcd *hcd) ehci->need_io_watchdog = 0; + if (ci->platdata->notify_event) + ci->platdata->notify_event(ci, CI_HDRC_CONTROLLER_RESET_EVENT); + ci_platform_configure(ci); return ret; @@ -187,6 +190,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) &&