Re: phy-qcom-usb-hs.c:undefined reference to `extcon_unregister_notifier'

From: Stephen Boyd
Date: Tue Mar 07 2017 - 11:59:08 EST


Quoting kbuild test robot (2017-03-06 09:19:50)
> Hi Stephen,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: c1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201
> commit: e2427b09ba929c2b9d02556b74a85161a7364792 phy: Add support for Qualcomm's USB HS phy
> date: 5 weeks ago
> config: i386-randconfig-x019-03061728 (attached as .config)
> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> reproduce:
> git checkout e2427b09ba929c2b9d02556b74a85161a7364792
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):
>
> drivers/built-in.o: In function `qcom_usb_hs_phy_power_off':
> >> phy-qcom-usb-hs.c:(.text+0x1248): undefined reference to `extcon_unregister_notifier'
> drivers/built-in.o: In function `qcom_usb_hs_phy_power_on':
> >> phy-qcom-usb-hs.c:(.text+0x1389): undefined reference to `extcon_get_state'
> >> phy-qcom-usb-hs.c:(.text+0x13a4): undefined reference to `extcon_register_notifier'
> drivers/built-in.o: In function `qcom_usb_hs_phy_probe':
> >> phy-qcom-usb-hs.c:(.text+0x1551): undefined reference to `extcon_get_edev_by_phandle'

Agreed. The same fix is required:

----8<-----
From: Stephen Boyd <stephen.boyd@xxxxxxxxxx>
Subject: [PATCH] phy: qcom-usb-hs: Add depends on EXTCON

We get the following compile errors if EXTCON is enabled as a
module but this driver is builtin:

drivers/built-in.o: In function `qcom_usb_hs_phy_power_off':
phy-qcom-usb-hs.c:(.text+0x1089): undefined reference to `extcon_unregister_notifier'
drivers/built-in.o: In function `qcom_usb_hs_phy_probe':
phy-qcom-usb-hs.c:(.text+0x11b5): undefined reference to `extcon_get_edev_by_phandle'
drivers/built-in.o: In function `qcom_usb_hs_phy_power_on':
phy-qcom-usb-hs.c:(.text+0x128e): undefined reference to `extcon_get_state'
phy-qcom-usb-hs.c:(.text+0x12a9): undefined reference to `extcon_register_notifier'

so let's mark this as needing to follow the modular status of
the extcon framework.

Fixes: 9994a33865f4 e2427b09ba929c2b9 (phy: Add support for Qualcomm's USB HS phy")
Signed-off-by: Stephen Boyd <stephen.boyd@xxxxxxxxxx>
---
drivers/phy/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index 61a22e985831..0386534892c5 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -440,6 +440,7 @@ config PHY_QCOM_UFS
config PHY_QCOM_USB_HS
tristate "Qualcomm USB HS PHY module"
depends on USB_ULPI_BUS
+ depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in
select GENERIC_PHY
help
Support for the USB high-speed ULPI compliant phy on Qualcomm
--
2.10.0.297.gf6727b0