From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org,
gregkh@linuxfoundation.org, jackp@codeaurora.org,
balbi@kernel.org, bjorn.andersson@linaro.org, robh@kernel.org
Cc: linux-kernel@vger.kernel.org,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Andy Gross <agross@kernel.org>, Lee Jones <lee.jones@linaro.org>,
Philipp Zabel <p.zabel@pengutronix.de>
Subject: [PATCH v5 12/18] usb: dwc3: qcom: Enable gpio-usb-conn based role-switching
Date: Fri, 7 Feb 2020 20:16:48 +0000 [thread overview]
Message-ID: <20200207201654.641525-13-bryan.odonoghue@linaro.org> (raw)
In-Reply-To: <20200207201654.641525-1-bryan.odonoghue@linaro.org>
This patch adds the ability to receive a notification from the DRD code for
role-switch events in doing so it introduces a disjunction between
gpio-usb-conn or extcon mode.
This is what we want to do, since the two methods are mutually exclusive.
Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-usb@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
drivers/usb/dwc3/dwc3-qcom.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index fc66ca3316ef..48e43dbc88cf 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -571,6 +571,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
struct device *dev = &pdev->dev;
struct dwc3_qcom *qcom;
struct resource *res, *parent_res = NULL;
+ struct dwc3 *dwc;
int ret, i;
bool ignore_pipe_clk;
@@ -669,8 +670,16 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
if (qcom->mode == USB_DR_MODE_PERIPHERAL)
dwc3_qcom_vbus_overrride_enable(qcom, true);
- /* register extcon to override sw_vbus on Vbus change later */
- ret = dwc3_qcom_register_extcon(qcom);
+ if (dwc3_qcom_find_gpio_usb_connector(qcom->dwc3)) {
+ /* Using gpio-usb-conn register a notifier for VBUS */
+ dwc = platform_get_drvdata(qcom->dwc3);
+ qcom->vbus_nb.notifier_call = dwc3_qcom_vbus_notifier;
+ ret = dwc3_role_switch_notifier_register(dwc, &qcom->vbus_nb);
+ } else {
+ /* register extcon to override sw_vbus on Vbus change later */
+ ret = dwc3_qcom_register_extcon(qcom);
+ }
+
if (ret)
goto depopulate;
@@ -702,8 +711,11 @@ static int dwc3_qcom_remove(struct platform_device *pdev)
{
struct dwc3_qcom *qcom = platform_get_drvdata(pdev);
struct device *dev = &pdev->dev;
+ struct dwc3 *dwc = platform_get_drvdata(qcom->dwc3);
int i;
+ dwc3_role_switch_notifier_unregister(dwc, &qcom->vbus_nb);
+
of_platform_depopulate(dev);
for (i = qcom->num_clocks - 1; i >= 0; i--) {
--
2.25.0
next prev parent reply other threads:[~2020-02-07 20:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-07 20:16 [PATCH v5 00/18] Enable Qualcomm QCS 404 HS/SS USB Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 01/18] dt-bindings: phy: remove qcom-dwc3-usb-phy Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 02/18] dt-bindings: phy: Add Qualcomm Synopsys Hi-Speed USB PHY binding Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 03/18] phy: qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 04/18] dt-bindings: Add Qualcomm USB SuperSpeed PHY bindings Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 05/18] phy: qualcomm: usb: Add SuperSpeed PHY driver Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 06/18] usb: dwc3: Registering a role switch in the DRD code Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 07/18] dt-bindings: usb: dwc3: Add a gpio-usb-connector example Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 08/18] dt-bindings: usb: dwc3: Add a usb-role-switch to the example Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 09/18] usb: dwc3: qcom: Add support for usb-conn-gpio connectors Bryan O'Donoghue
2020-02-07 20:43 ` Jack Pham
2020-02-07 21:24 ` Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 10/18] usb: dwc3: " Bryan O'Donoghue
2020-02-07 23:49 ` Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 11/18] usb: dwc3: Add support for a role-switch notifier Bryan O'Donoghue
2020-02-08 0:15 ` Jack Pham
2020-02-08 0:28 ` Bryan O'Donoghue
2020-02-07 20:16 ` Bryan O'Donoghue [this message]
2020-02-07 20:16 ` [PATCH v5 13/18] arm64: dts: qcom: qcs404: Add USB devices and PHYs Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 14/18] arm64: dts: qcom: qcs404-evb: Define VBUS pins Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 15/18] arm64: dts: qcom: qcs404-evb: Define USB ID pin Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 16/18] arm64: dts: qcom: qcs404-evb: Describe external VBUS regulator Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 17/18] arm64: dts: qcom: qcs404-evb: Raise vreg_l12_3p3 minimum voltage Bryan O'Donoghue
2020-02-07 20:16 ` [PATCH v5 18/18] arm64: dts: qcom: qcs404-evb: Enable USB controllers Bryan O'Donoghue
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200207201654.641525-13-bryan.odonoghue@linaro.org \
--to=bryan.odonoghue@linaro.org \
--cc=agross@kernel.org \
--cc=balbi@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=jackp@codeaurora.org \
--cc=lee.jones@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).