It depends on USB_OTG_FSM, but USB_OTG_FSM can be module, so FSL_USB2_OTG should be tristate. It fixes below build warning: drivers/usb/phy/phy-fsl-usb.o: In function `fsl_otg_ioctl': phy-fsl-usb.c:(.text+0x5e4): undefined reference to `otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `fsl_otg_start_srp': phy-fsl-usb.c:(.text+0x680): undefined reference to `otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `fsl_otg_set_host': phy-fsl-usb.c:(.text+0x800): undefined reference to `otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `fsl_otg_start_hnp': phy-fsl-usb.c:(.text+0x88c): undefined reference to `otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `show_fsl_usb2_otg_state': phy-fsl-usb.c:(.text+0xa44): undefined reference to `usb_otg_state_string' drivers/usb/phy/phy-fsl-usb.o: In function `a_wait_enum': phy-fsl-usb.c:(.text+0x1718): undefined reference to `otg_statemachine' drivers/usb/phy/phy-fsl-usb.o: In function `fsl_otg_set_peripheral': phy-fsl-usb.c:(.text+0x1f20): undefined reference to `usb_gadget_vbus_disconnect' phy-fsl-usb.c:(.text+0x1f40): undefined reference to `otg_statemachine' Cc: <stable@xxxxxxxxxxxxxxx> #v4.1+ Cc: Li Yang <leoyang.li@xxxxxxx> Reported-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxx> --- drivers/usb/phy/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig index d7312eed6088..5444d2437475 100644 --- a/drivers/usb/phy/Kconfig +++ b/drivers/usb/phy/Kconfig @@ -20,7 +20,7 @@ config AB8500_USB in host mode, low speed. config FSL_USB2_OTG - bool "Freescale USB OTG Transceiver Driver" + tristate "Freescale USB OTG Transceiver Driver" depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM && PM depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY -- 2.14.1