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@vger.kernel.org #v4.1+ Cc: Li Yang leoyang.li@nxp.com Reported-by: Mark Brown broonie@kernel.org Signed-off-by: Peter Chen peter.chen@nxp.com --- 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