* [PATCH v5 0/3] dwc3 prereqs for HiKey960 USB support
@ 2019-11-08 1:17 John Stultz
2019-11-08 1:17 ` [PATCH v5 1/3] usb: dwc3: Registering a role switch in the DRD code John Stultz
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: John Stultz @ 2019-11-08 1:17 UTC (permalink / raw)
To: lkml
Cc: John Stultz, Greg Kroah-Hartman, Rob Herring, Mark Rutland,
ShuFan Lee, Heikki Krogerus, Suzuki K Poulose, Chunfeng Yun,
Yu Chen, Felipe Balbi, Hans de Goede, Andy Shevchenko, Jun Li,
Valentin Schneider, Jack Pham, linux-usb, devicetree
Just another round here trying to push forward a patch series
submitted previously by Yu Chen to get HiKey960 dev-board's USB
functionality working.
This set is even more narrowly focused on just the role-switch
support and adding the role-switch-default-mode option (as the
core extension/glue bindings bits are still in discussion).
While Felipe had quite a bit of feedback on the last round, and
I'm not completely sure how to address all of it yet, I wanted
to send out this set which tries to address *some* of his
concerns, so I could get further feedback and make sure I'm on
the right track.
The current version of the full patchset to enable USB on
HiKey960 can be found here:
https://git.linaro.org/people/john.stultz/android-dev.git/log/?id=d40d8c803c5a79b70e2a6b363fe03442480df7d9
I'd greatly appreciate any feedback or thoughts!
thanks
-john
New in v5:
* Just sending out role-switch and role-swith-default-mode
changes
* Reworked role-switch code to not select CONFIG_USB_ROLE_SWITCH
and to ifdef out the dependent code if its not enabled, as
suggested by Felipe
* Changed to a string based role-switch-default-mode binding
as suggested by Felipe
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
CC: ShuFan Lee <shufan_lee@richtek.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Yu Chen <chenyu56@huawei.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Jun Li <lijun.kernel@gmail.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: linux-usb@vger.kernel.org
Cc: devicetree@vger.kernel.org
John Stultz (2):
dt-bindings: usb: generic: Add role-switch-default-mode binding
usb: dwc3: Add support for role-switch-default-mode binding
Yu Chen (1):
usb: dwc3: Registering a role switch in the DRD code.
.../devicetree/bindings/usb/generic.txt | 6 ++
drivers/usb/dwc3/core.h | 6 ++
drivers/usb/dwc3/drd.c | 96 ++++++++++++++++++-
3 files changed, 107 insertions(+), 1 deletion(-)
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v5 1/3] usb: dwc3: Registering a role switch in the DRD code.
2019-11-08 1:17 [PATCH v5 0/3] dwc3 prereqs for HiKey960 USB support John Stultz
@ 2019-11-08 1:17 ` John Stultz
2019-11-09 18:00 ` kbuild test robot
2019-11-08 1:17 ` [PATCH v5 2/3] dt-bindings: usb: generic: Add role-switch-default-mode binding John Stultz
2019-11-08 1:17 ` [PATCH v5 3/3] usb: dwc3: Add support for " John Stultz
2 siblings, 1 reply; 6+ messages in thread
From: John Stultz @ 2019-11-08 1:17 UTC (permalink / raw)
To: lkml
Cc: Yu Chen, Greg Kroah-Hartman, Rob Herring, Mark Rutland,
ShuFan Lee, Heikki Krogerus, Suzuki K Poulose, Chunfeng Yun,
Felipe Balbi, Hans de Goede, Andy Shevchenko, Jun Li,
Valentin Schneider, Jack Pham, linux-usb, devicetree,
John Stultz
From: Yu Chen <chenyu56@huawei.com>
The Type-C drivers use USB role switch API to inform the
system about the negotiated data role, so registering a role
switch in the DRD code in order to support platforms with
USB Type-C connectors.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
CC: ShuFan Lee <shufan_lee@richtek.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Yu Chen <chenyu56@huawei.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Jun Li <lijun.kernel@gmail.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: linux-usb@vger.kernel.org
Cc: devicetree@vger.kernel.org
Suggested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Yu Chen <chenyu56@huawei.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
v2: Fix role_sw and role_switch_default_mode descriptions as
reported by kbuild test robot <lkp@intel.com>
v3: Split out the role-switch-default-host logic into its own
patch
v5: Drop selecting CONFIG_USB_ROLE_SWITCH & ifdef dependent code
---
drivers/usb/dwc3/core.h | 3 ++
drivers/usb/dwc3/drd.c | 77 ++++++++++++++++++++++++++++++++++++++++-
2 files changed, 79 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 1c8b349379af..6f19e9891767 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -25,6 +25,7 @@
#include <linux/usb/ch9.h>
#include <linux/usb/gadget.h>
#include <linux/usb/otg.h>
+#include <linux/usb/role.h>
#include <linux/ulpi/interface.h>
#include <linux/phy/phy.h>
@@ -951,6 +952,7 @@ struct dwc3_scratchpad_array {
* @hsphy_mode: UTMI phy mode, one of following:
* - USBPHY_INTERFACE_MODE_UTMI
* - USBPHY_INTERFACE_MODE_UTMIW
+ * @role_sw: usb_role_switch handle
* @usb2_phy: pointer to USB2 PHY
* @usb3_phy: pointer to USB3 PHY
* @usb2_generic_phy: pointer to USB2 PHY
@@ -1084,6 +1086,7 @@ struct dwc3 {
struct extcon_dev *edev;
struct notifier_block edev_nb;
enum usb_phy_interface hsphy_mode;
+ struct usb_role_switch *role_sw;
u32 fladj;
u32 irq_gadget;
diff --git a/drivers/usb/dwc3/drd.c b/drivers/usb/dwc3/drd.c
index c946d64142ad..cd43dc2a96c6 100644
--- a/drivers/usb/dwc3/drd.c
+++ b/drivers/usb/dwc3/drd.c
@@ -476,6 +476,73 @@ static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc)
return edev;
}
+#ifdef CONFIG_USB_ROLE_SWITCH
+#define ROLE_SWITCH 1
+static int dwc3_usb_role_switch_set(struct device *dev, enum usb_role role)
+{
+ struct dwc3 *dwc = dev_get_drvdata(dev);
+ u32 mode;
+
+ switch (role) {
+ case USB_ROLE_HOST:
+ mode = DWC3_GCTL_PRTCAP_HOST;
+ break;
+ case USB_ROLE_DEVICE:
+ mode = DWC3_GCTL_PRTCAP_DEVICE;
+ break;
+ default:
+ mode = DWC3_GCTL_PRTCAP_DEVICE;
+ break;
+ }
+
+ dwc3_set_mode(dwc, mode);
+ return 0;
+}
+
+static enum usb_role dwc3_usb_role_switch_get(struct device *dev)
+{
+ struct dwc3 *dwc = dev_get_drvdata(dev);
+ unsigned long flags;
+ enum usb_role role;
+
+ spin_lock_irqsave(&dwc->lock, flags);
+ switch (dwc->current_dr_role) {
+ case DWC3_GCTL_PRTCAP_HOST:
+ role = USB_ROLE_HOST;
+ break;
+ case DWC3_GCTL_PRTCAP_DEVICE:
+ role = USB_ROLE_DEVICE;
+ break;
+ case DWC3_GCTL_PRTCAP_OTG:
+ role = dwc->current_otg_role;
+ break;
+ default:
+ role = USB_ROLE_DEVICE;
+ break;
+ }
+ spin_unlock_irqrestore(&dwc->lock, flags);
+ return role;
+}
+
+static int dwc3_setup_role_switch(struct dwc3 *dwc)
+{
+ struct usb_role_switch_desc dwc3_role_switch = {NULL};
+
+ dwc3_role_switch.fwnode = dev_fwnode(dwc->dev);
+ dwc3_role_switch.set = dwc3_usb_role_switch_set;
+ dwc3_role_switch.get = dwc3_usb_role_switch_get;
+ dwc->role_sw = usb_role_switch_register(dwc->dev, &dwc3_role_switch);
+ if (IS_ERR(dwc->role_sw))
+ return PTR_ERR(dwc->role_sw);
+
+ dwc3_set_mode(dwc, DWC3_GCTL_PRTCAP_DEVICE);
+ return 0;
+}
+#else
+#define ROLE_SWITCH 0
+#define dwc3_setup_role_switch(x)
+#endif
+
int dwc3_drd_init(struct dwc3 *dwc)
{
int ret, irq;
@@ -484,7 +551,12 @@ int dwc3_drd_init(struct dwc3 *dwc)
if (IS_ERR(dwc->edev))
return PTR_ERR(dwc->edev);
- if (dwc->edev) {
+ if (ROLE_SWITCH &&
+ device_property_read_bool(dwc->dev, "usb-role-switch")) {
+ ret = dwc3_setup_role_switch(dwc);
+ if (ret < 0)
+ return ret;
+ } else if (dwc->edev) {
dwc->edev_nb.notifier_call = dwc3_drd_notifier;
ret = extcon_register_notifier(dwc->edev, EXTCON_USB_HOST,
&dwc->edev_nb);
@@ -531,6 +603,9 @@ void dwc3_drd_exit(struct dwc3 *dwc)
{
unsigned long flags;
+ if (dwc->role_sw)
+ usb_role_switch_unregister(dwc->role_sw);
+
if (dwc->edev)
extcon_unregister_notifier(dwc->edev, EXTCON_USB_HOST,
&dwc->edev_nb);
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v5 2/3] dt-bindings: usb: generic: Add role-switch-default-mode binding
2019-11-08 1:17 [PATCH v5 0/3] dwc3 prereqs for HiKey960 USB support John Stultz
2019-11-08 1:17 ` [PATCH v5 1/3] usb: dwc3: Registering a role switch in the DRD code John Stultz
@ 2019-11-08 1:17 ` John Stultz
2019-11-12 19:18 ` Rob Herring
2019-11-08 1:17 ` [PATCH v5 3/3] usb: dwc3: Add support for " John Stultz
2 siblings, 1 reply; 6+ messages in thread
From: John Stultz @ 2019-11-08 1:17 UTC (permalink / raw)
To: lkml
Cc: John Stultz, Greg Kroah-Hartman, Rob Herring, Mark Rutland,
ShuFan Lee, Heikki Krogerus, Suzuki K Poulose, Chunfeng Yun,
Yu Chen, Felipe Balbi, Hans de Goede, Andy Shevchenko, Jun Li,
Valentin Schneider, Jack Pham, linux-usb, devicetree
Add binding to configure the default role the controller
assumes is host mode when the usb role is USB_ROLE_NONE.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
CC: ShuFan Lee <shufan_lee@richtek.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Yu Chen <chenyu56@huawei.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Jun Li <lijun.kernel@gmail.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: linux-usb@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
v5: Switch to string rather then a bool
---
Documentation/devicetree/bindings/usb/generic.txt | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
index cf5a1ad456e6..dd733fa81fad 100644
--- a/Documentation/devicetree/bindings/usb/generic.txt
+++ b/Documentation/devicetree/bindings/usb/generic.txt
@@ -34,6 +34,12 @@ Optional properties:
the USB data role (USB host or USB device) for a given
USB connector, such as Type-C, Type-B(micro).
see connector/usb-connector.txt.
+ - role-switch-default-mode: indicating if usb-role-switch is enabled, the
+ device default operation mode of controller while usb
+ role is USB_ROLE_NONE. Valid arguments are "host" and
+ "peripheral". Defaults to "peripheral" if not
+ specified.
+
This is an attribute to a USB controller such as:
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v5 3/3] usb: dwc3: Add support for role-switch-default-mode binding
2019-11-08 1:17 [PATCH v5 0/3] dwc3 prereqs for HiKey960 USB support John Stultz
2019-11-08 1:17 ` [PATCH v5 1/3] usb: dwc3: Registering a role switch in the DRD code John Stultz
2019-11-08 1:17 ` [PATCH v5 2/3] dt-bindings: usb: generic: Add role-switch-default-mode binding John Stultz
@ 2019-11-08 1:17 ` John Stultz
2 siblings, 0 replies; 6+ messages in thread
From: John Stultz @ 2019-11-08 1:17 UTC (permalink / raw)
To: lkml
Cc: John Stultz, Greg Kroah-Hartman, Rob Herring, Mark Rutland,
ShuFan Lee, Heikki Krogerus, Suzuki K Poulose, Chunfeng Yun,
Yu Chen, Felipe Balbi, Hans de Goede, Andy Shevchenko, Jun Li,
Valentin Schneider, Jack Pham, linux-usb, devicetree
Support the new role-switch-default-mode binding for configuring
the default role the controller assumes as when the usb role is
USB_ROLE_NONE
This patch was split out from a larger patch originally by
Yu Chen <chenyu56@huawei.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
CC: ShuFan Lee <shufan_lee@richtek.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Yu Chen <chenyu56@huawei.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Jun Li <lijun.kernel@gmail.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: linux-usb@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
v3: Split this patch out from addition of usb-role-switch
handling
v5: Reworked to use string based role-switch-default-mode
---
drivers/usb/dwc3/core.h | 3 +++
drivers/usb/dwc3/drd.c | 25 ++++++++++++++++++++++---
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 6f19e9891767..3c879c9ab1aa 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -953,6 +953,8 @@ struct dwc3_scratchpad_array {
* - USBPHY_INTERFACE_MODE_UTMI
* - USBPHY_INTERFACE_MODE_UTMIW
* @role_sw: usb_role_switch handle
+ * @role_switch_default_mode: default operation mode of controller while
+ * usb role is USB_ROLE_NONE.
* @usb2_phy: pointer to USB2 PHY
* @usb3_phy: pointer to USB3 PHY
* @usb2_generic_phy: pointer to USB2 PHY
@@ -1087,6 +1089,7 @@ struct dwc3 {
struct notifier_block edev_nb;
enum usb_phy_interface hsphy_mode;
struct usb_role_switch *role_sw;
+ enum usb_dr_mode role_switch_default_mode;
u32 fladj;
u32 irq_gadget;
diff --git a/drivers/usb/dwc3/drd.c b/drivers/usb/dwc3/drd.c
index cd43dc2a96c6..dbb881863297 100644
--- a/drivers/usb/dwc3/drd.c
+++ b/drivers/usb/dwc3/drd.c
@@ -491,7 +491,10 @@ static int dwc3_usb_role_switch_set(struct device *dev, enum usb_role role)
mode = DWC3_GCTL_PRTCAP_DEVICE;
break;
default:
- mode = DWC3_GCTL_PRTCAP_DEVICE;
+ if (dwc->role_switch_default_mode == USB_DR_MODE_HOST)
+ mode = DWC3_GCTL_PRTCAP_HOST;
+ else
+ mode = DWC3_GCTL_PRTCAP_DEVICE;
break;
}
@@ -517,7 +520,10 @@ static enum usb_role dwc3_usb_role_switch_get(struct device *dev)
role = dwc->current_otg_role;
break;
default:
- role = USB_ROLE_DEVICE;
+ if (dwc->role_switch_default_mode == USB_DR_MODE_HOST)
+ role = USB_ROLE_HOST;
+ else
+ role = USB_ROLE_DEVICE;
break;
}
spin_unlock_irqrestore(&dwc->lock, flags);
@@ -527,6 +533,19 @@ static enum usb_role dwc3_usb_role_switch_get(struct device *dev)
static int dwc3_setup_role_switch(struct dwc3 *dwc)
{
struct usb_role_switch_desc dwc3_role_switch = {NULL};
+ const char *str;
+ u32 mode;
+ int ret;
+
+ ret = device_property_read_string(dwc->dev, "role-switch-default-mode",
+ &str);
+ if (ret >= 0 && !strncmp(str, "host", strlen("host"))) {
+ dwc->role_switch_default_mode = USB_DR_MODE_HOST;
+ mode = DWC3_GCTL_PRTCAP_HOST;
+ } else {
+ dwc->role_switch_default_mode = USB_DR_MODE_PERIPHERAL;
+ mode = DWC3_GCTL_PRTCAP_DEVICE;
+ }
dwc3_role_switch.fwnode = dev_fwnode(dwc->dev);
dwc3_role_switch.set = dwc3_usb_role_switch_set;
@@ -535,7 +554,7 @@ static int dwc3_setup_role_switch(struct dwc3 *dwc)
if (IS_ERR(dwc->role_sw))
return PTR_ERR(dwc->role_sw);
- dwc3_set_mode(dwc, DWC3_GCTL_PRTCAP_DEVICE);
+ dwc3_set_mode(dwc, mode);
return 0;
}
#else
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v5 1/3] usb: dwc3: Registering a role switch in the DRD code.
2019-11-08 1:17 ` [PATCH v5 1/3] usb: dwc3: Registering a role switch in the DRD code John Stultz
@ 2019-11-09 18:00 ` kbuild test robot
0 siblings, 0 replies; 6+ messages in thread
From: kbuild test robot @ 2019-11-09 18:00 UTC (permalink / raw)
To: John Stultz
Cc: kbuild-all, lkml, Yu Chen, Greg Kroah-Hartman, Rob Herring,
Mark Rutland, ShuFan Lee, Heikki Krogerus, Suzuki K Poulose,
Chunfeng Yun, Felipe Balbi, Hans de Goede, Andy Shevchenko,
Jun Li, Valentin Schneider, Jack Pham, linux-usb, devicetree,
John Stultz
[-- Attachment #1: Type: text/plain, Size: 3169 bytes --]
Hi John,
I love your patch! Yet something to improve:
[auto build test ERROR on usb/usb-testing]
[also build test ERROR on v5.4-rc6 next-20191108]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/John-Stultz/dwc3-prereqs-for-HiKey960-USB-support/20191110-002446
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: arm-exynos_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/usb/dwc3/drd.c: In function 'dwc3_drd_init':
>> drivers/usb/dwc3/drd.c:556:36: error: expected expression before ';' token
ret = dwc3_setup_role_switch(dwc);
^
vim +556 drivers/usb/dwc3/drd.c
545
546 int dwc3_drd_init(struct dwc3 *dwc)
547 {
548 int ret, irq;
549
550 dwc->edev = dwc3_get_extcon(dwc);
551 if (IS_ERR(dwc->edev))
552 return PTR_ERR(dwc->edev);
553
554 if (ROLE_SWITCH &&
555 device_property_read_bool(dwc->dev, "usb-role-switch")) {
> 556 ret = dwc3_setup_role_switch(dwc);
557 if (ret < 0)
558 return ret;
559 } else if (dwc->edev) {
560 dwc->edev_nb.notifier_call = dwc3_drd_notifier;
561 ret = extcon_register_notifier(dwc->edev, EXTCON_USB_HOST,
562 &dwc->edev_nb);
563 if (ret < 0) {
564 dev_err(dwc->dev, "couldn't register cable notifier\n");
565 return ret;
566 }
567
568 dwc3_drd_update(dwc);
569 } else {
570 dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_OTG);
571 dwc->current_dr_role = DWC3_GCTL_PRTCAP_OTG;
572
573 /* use OTG block to get ID event */
574 irq = dwc3_otg_get_irq(dwc);
575 if (irq < 0)
576 return irq;
577
578 dwc->otg_irq = irq;
579
580 /* disable all OTG IRQs */
581 dwc3_otg_disable_events(dwc, DWC3_OTG_ALL_EVENTS);
582 /* clear all events */
583 dwc3_otg_clear_events(dwc);
584
585 ret = request_threaded_irq(dwc->otg_irq, dwc3_otg_irq,
586 dwc3_otg_thread_irq,
587 IRQF_SHARED, "dwc3-otg", dwc);
588 if (ret) {
589 dev_err(dwc->dev, "failed to request irq #%d --> %d\n",
590 dwc->otg_irq, ret);
591 ret = -ENODEV;
592 return ret;
593 }
594
595 dwc3_otg_init(dwc);
596 dwc3_set_mode(dwc, DWC3_GCTL_PRTCAP_OTG);
597 }
598
599 return 0;
600 }
601
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 31319 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5 2/3] dt-bindings: usb: generic: Add role-switch-default-mode binding
2019-11-08 1:17 ` [PATCH v5 2/3] dt-bindings: usb: generic: Add role-switch-default-mode binding John Stultz
@ 2019-11-12 19:18 ` Rob Herring
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2019-11-12 19:18 UTC (permalink / raw)
To: John Stultz
Cc: lkml, John Stultz, Greg Kroah-Hartman, Hans de Goede,
Andy Shevchenko, Jun Li, Valentin Schneider, Jack Pham,
linux-usb, devicetree
On Fri, 8 Nov 2019 01:17:22 +0000, John Stultz wrote:
> Add binding to configure the default role the controller
> assumes is host mode when the usb role is USB_ROLE_NONE.
>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> CC: ShuFan Lee <shufan_lee@richtek.com>
> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
> Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
> Cc: Yu Chen <chenyu56@huawei.com>
> Cc: Felipe Balbi <balbi@kernel.org>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
> Cc: Jun Li <lijun.kernel@gmail.com>
> Cc: Valentin Schneider <valentin.schneider@arm.com>
> Cc: Jack Pham <jackp@codeaurora.org>
> Cc: linux-usb@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> ---
> v5: Switch to string rather then a bool
> ---
> Documentation/devicetree/bindings/usb/generic.txt | 6 ++++++
> 1 file changed, 6 insertions(+)
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-11-12 19:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-08 1:17 [PATCH v5 0/3] dwc3 prereqs for HiKey960 USB support John Stultz
2019-11-08 1:17 ` [PATCH v5 1/3] usb: dwc3: Registering a role switch in the DRD code John Stultz
2019-11-09 18:00 ` kbuild test robot
2019-11-08 1:17 ` [PATCH v5 2/3] dt-bindings: usb: generic: Add role-switch-default-mode binding John Stultz
2019-11-12 19:18 ` Rob Herring
2019-11-08 1:17 ` [PATCH v5 3/3] usb: dwc3: Add support for " John Stultz
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).