Эх сурвалжийг харах

imx/mx3: depend on USB_ULPI for otg_ulpi_create

otg_ulpi_create is defined in drivers/usb/otg/ulpi.c which depends on
CONFIG_USB_ULPI.  So protect its usage by the same symbol.  Moreover
mxc_ulpi_access_ops needs CONFIG_MXC_ULPI.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Valentin Longchamp <valentin.longchamp@epfl.ch>
Cc: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Uwe Kleine-König 15 жил өмнө
parent
commit
f9ffaa9ca9

+ 2 - 1
arch/arm/mach-mx3/Kconfig

@@ -49,6 +49,7 @@ config MACH_PCM037_EET
 config MACH_MX31LITE
 config MACH_MX31LITE
 	bool "Support MX31 LITEKIT (LogicPD)"
 	bool "Support MX31 LITEKIT (LogicPD)"
 	select ARCH_MX31
 	select ARCH_MX31
+	select MXC_ULPI if USB_ULPI
 	help
 	help
 	  Include support for MX31 LITEKIT platform. This includes specific
 	  Include support for MX31 LITEKIT platform. This includes specific
 	  configurations for the board and its peripherals.
 	  configurations for the board and its peripherals.
@@ -63,7 +64,7 @@ config MACH_MX31_3DS
 config MACH_MX31MOBOARD
 config MACH_MX31MOBOARD
 	bool "Support mx31moboard platforms (EPFL Mobots group)"
 	bool "Support mx31moboard platforms (EPFL Mobots group)"
 	select ARCH_MX31
 	select ARCH_MX31
-	select MXC_ULPI
+	select MXC_ULPI if USB_ULPI
 	help
 	help
 	  Include support for mx31moboard platform. This includes specific
 	  Include support for mx31moboard platform. This includes specific
 	  configurations for the board and its peripherals.
 	  configurations for the board and its peripherals.

+ 4 - 0
arch/arm/mach-mx3/mx31lite.c

@@ -135,6 +135,7 @@ static struct spi_board_info mc13783_spi_dev __initdata = {
  * USB
  * USB
  */
  */
 
 
+#if defined(CONFIG_USB_ULPI)
 #define USB_PAD_CFG (PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST | PAD_CTL_HYS_CMOS | \
 #define USB_PAD_CFG (PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST | PAD_CTL_HYS_CMOS | \
 			PAD_CTL_ODE_CMOS | PAD_CTL_100K_PU)
 			PAD_CTL_ODE_CMOS | PAD_CTL_100K_PU)
 
 
@@ -180,6 +181,7 @@ static struct mxc_usbh_platform_data usbh2_pdata = {
 	.portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT,
 	.portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT,
 	.flags  = MXC_EHCI_POWER_PINS_ENABLED,
 	.flags  = MXC_EHCI_POWER_PINS_ENABLED,
 };
 };
+#endif
 
 
 /*
 /*
  * NOR flash
  * NOR flash
@@ -256,11 +258,13 @@ static void __init mxc_board_init(void)
 	mxc_register_device(&mxc_spi_device1, &spi1_pdata);
 	mxc_register_device(&mxc_spi_device1, &spi1_pdata);
 	spi_register_board_info(&mc13783_spi_dev, 1);
 	spi_register_board_info(&mc13783_spi_dev, 1);
 
 
+#if defined(CONFIG_USB_ULPI)
 	/* USB */
 	/* USB */
 	usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
 	usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,
 				USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT);
 				USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT);
 
 
 	mxc_register_device(&mxc_usbh2, &usbh2_pdata);
 	mxc_register_device(&mxc_usbh2, &usbh2_pdata);
+#endif
 
 
 	/* SMSC9117 IRQ pin */
 	/* SMSC9117 IRQ pin */
 	ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_SFS6), "sms9117-irq");
 	ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_SFS6), "sms9117-irq");

+ 5 - 0
arch/arm/mach-mx3/mx31moboard.c

@@ -346,6 +346,8 @@ static struct fsl_usb2_platform_data usb_pdata = {
 	.phy_mode	= FSL_USB2_PHY_ULPI,
 	.phy_mode	= FSL_USB2_PHY_ULPI,
 };
 };
 
 
+#if defined(CONFIG_USB_ULPI)
+
 #define USBH2_EN_B IOMUX_TO_GPIO(MX31_PIN_SCK6)
 #define USBH2_EN_B IOMUX_TO_GPIO(MX31_PIN_SCK6)
 
 
 static int moboard_usbh2_hw_init(struct platform_device *pdev)
 static int moboard_usbh2_hw_init(struct platform_device *pdev)
@@ -394,6 +396,9 @@ static int __init moboard_usbh2_init(void)
 
 
 	return mxc_register_device(&mxc_usbh2, &usbh2_pdata);
 	return mxc_register_device(&mxc_usbh2, &usbh2_pdata);
 }
 }
+#else
+static inline int moboard_usbh2_init(void) { return 0; }
+#endif
 
 
 
 
 static struct gpio_led mx31moboard_leds[] = {
 static struct gpio_led mx31moboard_leds[] = {