Re: [PATCH -next v2] usb: dwc3: include extcon.h to fix compile error

From: Jack Pham
Date: Wed May 11 2022 - 12:42:15 EST


On Wed, May 11, 2022 at 10:26:22AM +0800, Guan Jing wrote:
> If dwc3 is not include extcon.h, the dwc3 driver
> will fail to link:

That doesn't make sense... If the header/definitions aren't present you
should certainly see errors earlier on in the compilation of the object,
not the linker.

> drivers/usb/dwc3/core.o: In function `dwc3_probe':
> core.c:(.text+0x1095): undefined reference to `extcon_get_edev_by_phandle'
> core.c:(.text+0x10bd): undefined reference to `extcon_get_extcon_dev'
>
> Add miss #include <linux/extcon.h> to fix this error.
>
> Fixes: 0f0101719138 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present")
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: Guan Jing <guanjing6@xxxxxxxxxx>
> ---
> drivers/usb/dwc3/core.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 950e238c65bf..e619a3ef6c46 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -28,6 +28,7 @@
> #include <linux/pinctrl/consumer.h>
> #include <linux/reset.h>
> #include <linux/bitfield.h>
> +#include <linux/extcon.h>
>
> #include <linux/usb/ch9.h>
> #include <linux/usb/gadget.h>

Below this we also have

#include <linux/usb/otg.h>

Which itself has

#include <linux/usb/phy.h>

Which also does

#include <linux/extcon.h>

So extcon.h would have already been included via this nesting...

Jack