drivers/usb/dwc3/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Arnd Bergmann <arnd@arndb.de>
The dwc3 core support now links against the extcon subsystem,
so it cannot be built-in when extcon is a loadable module:
arm-linux-gnueabi-ld: drivers/usb/dwc3/core.o: in function `dwc3_get_extcon':
core.c:(.text+0x572): undefined reference to `extcon_get_edev_by_phandle'
arm-linux-gnueabi-ld: core.c:(.text+0x596): undefined reference to `extcon_get_extcon_dev'
arm-linux-gnueabi-ld: core.c:(.text+0x5ea): undefined reference to `extcon_find_edev_by_node'
There was already a Kconfig dependency in the dual-role support,
but this is now needed for the entire dwc3 driver.
It is still possible to build dwc3 without extcon, but this
prevents it from being set to built-in when extcon is a loadable
module.
Fixes: d182c2e1bc92 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/usb/dwc3/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
index b2f72b0e75c6..be954a9abbe0 100644
--- a/drivers/usb/dwc3/Kconfig
+++ b/drivers/usb/dwc3/Kconfig
@@ -3,6 +3,7 @@
config USB_DWC3
tristate "DesignWare USB3 DRD Core Support"
depends on (USB || USB_GADGET) && HAS_DMA
+ depends on (EXTCON || EXTCON=n)
select USB_XHCI_PLATFORM if USB_XHCI_HCD
select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE
help
@@ -44,7 +45,6 @@ config USB_DWC3_GADGET
config USB_DWC3_DUAL_ROLE
bool "Dual Role mode"
depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3))
- depends on (EXTCON=y || EXTCON=USB_DWC3)
help
This is the default mode of working of DWC3 controller where
both host and gadget features are enabled.
--
2.39.0
On Wed, Jan 18, 2023, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > The dwc3 core support now links against the extcon subsystem, > so it cannot be built-in when extcon is a loadable module: > > arm-linux-gnueabi-ld: drivers/usb/dwc3/core.o: in function `dwc3_get_extcon': > core.c:(.text+0x572): undefined reference to `extcon_get_edev_by_phandle' > arm-linux-gnueabi-ld: core.c:(.text+0x596): undefined reference to `extcon_get_extcon_dev' > arm-linux-gnueabi-ld: core.c:(.text+0x5ea): undefined reference to `extcon_find_edev_by_node' > > There was already a Kconfig dependency in the dual-role support, > but this is now needed for the entire dwc3 driver. > > It is still possible to build dwc3 without extcon, but this > prevents it from being set to built-in when extcon is a loadable > module. > > Fixes: d182c2e1bc92 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/usb/dwc3/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig > index b2f72b0e75c6..be954a9abbe0 100644 > --- a/drivers/usb/dwc3/Kconfig > +++ b/drivers/usb/dwc3/Kconfig > @@ -3,6 +3,7 @@ > config USB_DWC3 > tristate "DesignWare USB3 DRD Core Support" > depends on (USB || USB_GADGET) && HAS_DMA > + depends on (EXTCON || EXTCON=n) > select USB_XHCI_PLATFORM if USB_XHCI_HCD > select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE > help > @@ -44,7 +45,6 @@ config USB_DWC3_GADGET > config USB_DWC3_DUAL_ROLE > bool "Dual Role mode" > depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) > - depends on (EXTCON=y || EXTCON=USB_DWC3) > help > This is the default mode of working of DWC3 controller where > both host and gadget features are enabled. > -- > 2.39.0 > Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Thanks, Thinh
On Wed, Jan 18, 2023 at 10:01:41AM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > The dwc3 core support now links against the extcon subsystem, > so it cannot be built-in when extcon is a loadable module: > > arm-linux-gnueabi-ld: drivers/usb/dwc3/core.o: in function `dwc3_get_extcon': > core.c:(.text+0x572): undefined reference to `extcon_get_edev_by_phandle' > arm-linux-gnueabi-ld: core.c:(.text+0x596): undefined reference to `extcon_get_extcon_dev' > arm-linux-gnueabi-ld: core.c:(.text+0x5ea): undefined reference to `extcon_find_edev_by_node' > > There was already a Kconfig dependency in the dual-role support, > but this is now needed for the entire dwc3 driver. > > It is still possible to build dwc3 without extcon, but this > prevents it from being set to built-in when extcon is a loadable > module. Thank you for fixing this! Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > Fixes: d182c2e1bc92 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/usb/dwc3/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig > index b2f72b0e75c6..be954a9abbe0 100644 > --- a/drivers/usb/dwc3/Kconfig > +++ b/drivers/usb/dwc3/Kconfig > @@ -3,6 +3,7 @@ > config USB_DWC3 > tristate "DesignWare USB3 DRD Core Support" > depends on (USB || USB_GADGET) && HAS_DMA > + depends on (EXTCON || EXTCON=n) > select USB_XHCI_PLATFORM if USB_XHCI_HCD > select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE > help > @@ -44,7 +45,6 @@ config USB_DWC3_GADGET > config USB_DWC3_DUAL_ROLE > bool "Dual Role mode" > depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) > - depends on (EXTCON=y || EXTCON=USB_DWC3) > help > This is the default mode of working of DWC3 controller where > both host and gadget features are enabled. > -- > 2.39.0 > -- With Best Regards, Andy Shevchenko
© 2016 - 2025 Red Hat, Inc.