* Felipe Balbi <felipe.balbi@xxxxxxxxx> [091228 03:10]: > each board will have a different mode which is peculiar > to that board. The subject and description for this too should be updated to say it fixes the mode. Regards, Tony > Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxx> > --- > arch/arm/mach-omap2/board-2430sdp.c | 3 ++- > arch/arm/mach-omap2/board-3430sdp.c | 3 ++- > arch/arm/mach-omap2/board-cm-t35.c | 3 ++- > arch/arm/mach-omap2/board-igep0020.c | 3 ++- > arch/arm/mach-omap2/board-ldp.c | 3 ++- > arch/arm/mach-omap2/board-omap3beagle.c | 3 ++- > arch/arm/mach-omap2/board-omap3evm.c | 3 ++- > arch/arm/mach-omap2/board-omap3pandora.c | 3 ++- > arch/arm/mach-omap2/board-omap3touchbook.c | 3 ++- > arch/arm/mach-omap2/board-overo.c | 3 ++- > arch/arm/mach-omap2/board-rx51.c | 3 ++- > arch/arm/mach-omap2/board-zoom-peripherals.c | 3 ++- > arch/arm/mach-omap2/usb-musb.c | 13 ++++--------- > arch/arm/plat-omap/include/plat/usb.h | 3 ++- > 14 files changed, 30 insertions(+), 22 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c > index d3857d6..45d3197 100644 > --- a/arch/arm/mach-omap2/board-2430sdp.c > +++ b/arch/arm/mach-omap2/board-2430sdp.c > @@ -23,6 +23,7 @@ > #include <linux/err.h> > #include <linux/clk.h> > #include <linux/io.h> > +#include <linux/usb/musb.h> > > #include <mach/hardware.h> > #include <asm/mach-types.h> > @@ -203,7 +204,7 @@ static void __init omap_2430sdp_init(void) > platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices)); > omap_serial_init(); > twl4030_mmc_init(mmc); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > board_smc91x_init(); > > /* Turn off secondary LCD backlight */ > diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c > index 1d52fd1..37e7328 100644 > --- a/arch/arm/mach-omap2/board-3430sdp.c > +++ b/arch/arm/mach-omap2/board-3430sdp.c > @@ -24,6 +24,7 @@ > #include <linux/regulator/machine.h> > #include <linux/io.h> > #include <linux/gpio.h> > +#include <linux/usb/musb.h> > > #include <mach/hardware.h> > #include <asm/mach-types.h> > @@ -664,7 +665,7 @@ static void __init omap_3430sdp_init(void) > ARRAY_SIZE(sdp3430_spi_board_info)); > ads7846_dev_init(); > omap_serial_init(); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > board_smc91x_init(); > sdp3430_display_init(); > enable_board_wakeup_source(); > diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c > index 56922f4..9d5db6b 100644 > --- a/arch/arm/mach-omap2/board-cm-t35.c > +++ b/arch/arm/mach-omap2/board-cm-t35.c > @@ -27,6 +27,7 @@ > #include <linux/input/matrix_keypad.h> > #include <linux/delay.h> > #include <linux/gpio.h> > +#include <linux/usb/musb.h> > > #include <linux/i2c/at24.h> > #include <linux/i2c/twl.h> > @@ -585,7 +586,7 @@ static void __init cm_t35_init(void) > cm_t35_init_ethernet(); > cm_t35_init_led(); > > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > } > > MACHINE_START(CM_T35, "Compulab CM-T35") > diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c > index 16be1d5..6fc0608 100644 > --- a/arch/arm/mach-omap2/board-igep0020.c > +++ b/arch/arm/mach-omap2/board-igep0020.c > @@ -17,6 +17,7 @@ > #include <linux/io.h> > #include <linux/gpio.h> > #include <linux/interrupt.h> > +#include <linux/usb/musb.h> > > #include <linux/regulator/machine.h> > #include <linux/i2c/twl.h> > @@ -216,7 +217,7 @@ static void __init igep2_init(void) > omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); > igep2_i2c_init(); > omap_serial_init(); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > > igep2_init_smsc911x(); > > diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c > index ca2acd2..7e8c8a8 100644 > --- a/arch/arm/mach-omap2/board-ldp.c > +++ b/arch/arm/mach-omap2/board-ldp.c > @@ -27,6 +27,7 @@ > #include <linux/i2c/twl.h> > #include <linux/io.h> > #include <linux/smsc911x.h> > +#include <linux/usb/musb.h> > > #include <mach/hardware.h> > #include <asm/mach-types.h> > @@ -394,7 +395,7 @@ static void __init omap_ldp_init(void) > ARRAY_SIZE(ldp_spi_board_info)); > ads7846_dev_init(); > omap_serial_init(); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > > twl4030_mmc_init(mmc); > /* link regulators to MMC adapters */ > diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c > index 52f65e6..17f6381 100644 > --- a/arch/arm/mach-omap2/board-omap3beagle.c > +++ b/arch/arm/mach-omap2/board-omap3beagle.c > @@ -23,6 +23,7 @@ > #include <linux/gpio.h> > #include <linux/input.h> > #include <linux/gpio_keys.h> > +#include <linux/usb/musb.h> > > #include <linux/mtd/mtd.h> > #include <linux/mtd/partitions.h> > @@ -443,7 +444,7 @@ static void __init omap3_beagle_init(void) > /* REVISIT leave DVI powered down until it's needed ... */ > gpio_direction_output(170, true); > > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > usb_ehci_init(&ehci_pdata); > omap3beagle_flash_init(); > > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c > index c5fd85d..1160004 100644 > --- a/arch/arm/mach-omap2/board-omap3evm.c > +++ b/arch/arm/mach-omap2/board-omap3evm.c > @@ -23,6 +23,7 @@ > #include <linux/input/matrix_keypad.h> > #include <linux/leds.h> > #include <linux/interrupt.h> > +#include <linux/usb/musb.h> > > #include <linux/spi/spi.h> > #include <linux/spi/ads7846.h> > @@ -469,7 +470,7 @@ static void __init omap3_evm_init(void) > omap_mux_init_gpio(135, OMAP_PIN_OUTPUT); > ehci_pdata.reset_gpio_port[1] = 135; > } > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > usb_ehci_init(&ehci_pdata); > ads7846_dev_init(); > omap3evm_init_smsc911x(); > diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c > index b0cdf77..191b75c 100644 > --- a/arch/arm/mach-omap2/board-omap3pandora.c > +++ b/arch/arm/mach-omap2/board-omap3pandora.c > @@ -29,6 +29,7 @@ > #include <linux/input.h> > #include <linux/input/matrix_keypad.h> > #include <linux/gpio_keys.h> > +#include <linux/usb/musb.h> > > #include <asm/mach-types.h> > #include <asm/mach/arch.h> > @@ -413,7 +414,7 @@ static void __init omap3pandora_init(void) > omap3pandora_ads7846_init(); > usb_ehci_init(&ehci_pdata); > pandora_keys_gpio_init(); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > > /* Ensure SDRC pins are mux'd for self-refresh */ > omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT); > diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c > index f7f7670..287b914 100644 > --- a/arch/arm/mach-omap2/board-omap3touchbook.c > +++ b/arch/arm/mach-omap2/board-omap3touchbook.c > @@ -23,6 +23,7 @@ > #include <linux/gpio.h> > #include <linux/input.h> > #include <linux/gpio_keys.h> > +#include <linux/usb/musb.h> > > #include <linux/mtd/mtd.h> > #include <linux/mtd/partitions.h> > @@ -545,7 +546,7 @@ static void __init omap3_touchbook_init(void) > spi_register_board_info(omap3_ads7846_spi_board_info, > ARRAY_SIZE(omap3_ads7846_spi_board_info)); > omap3_ads7846_init(); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > usb_ehci_init(&ehci_pdata); > omap3touchbook_flash_init(); > > diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c > index 4e07a08..df04029 100644 > --- a/arch/arm/mach-omap2/board-overo.c > +++ b/arch/arm/mach-omap2/board-overo.c > @@ -28,6 +28,7 @@ > #include <linux/platform_device.h> > #include <linux/i2c/twl.h> > #include <linux/regulator/machine.h> > +#include <linux/usb/musb.h> > > #include <linux/mtd/mtd.h> > #include <linux/mtd/nand.h> > @@ -420,7 +421,7 @@ static void __init overo_init(void) > platform_add_devices(overo_devices, ARRAY_SIZE(overo_devices)); > omap_serial_init(); > overo_flash_init(); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > usb_ehci_init(&ehci_pdata); > overo_ads7846_init(); > overo_init_smsc911x(); > diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c > index 0e19316..2480870 100644 > --- a/arch/arm/mach-omap2/board-rx51.c > +++ b/arch/arm/mach-omap2/board-rx51.c > @@ -16,6 +16,7 @@ > #include <linux/clk.h> > #include <linux/io.h> > #include <linux/gpio.h> > +#include <linux/usb/musb.h> > > #include <mach/hardware.h> > #include <asm/mach-types.h> > @@ -82,7 +83,7 @@ static void __init rx51_init(void) > { > omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); > omap_serial_init(); > - usb_musb_init(0); > + usb_musb_init(MUSB_PERIPHERAL, 0); > rx51_peripherals_init(); > > /* Ensure SDRC pins are mux'd for self-refresh */ > diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c > index abb5fc2..f157733 100755 > --- a/arch/arm/mach-omap2/board-zoom-peripherals.c > +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c > @@ -16,6 +16,7 @@ > #include <linux/gpio.h> > #include <linux/i2c/twl.h> > #include <linux/regulator/machine.h> > +#include <linux/usb/musb.h> > > #include <asm/mach-types.h> > #include <asm/mach/arch.h> > @@ -267,5 +268,5 @@ void __init zoom_peripherals_init(void) > { > omap_i2c_init(); > omap_serial_init(); > - usb_musb_init(100); > + usb_musb_init(MUSB_OTG, 100); > } > diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c > index 6c2895e..e0050c5 100644 > --- a/arch/arm/mach-omap2/usb-musb.c > +++ b/arch/arm/mach-omap2/usb-musb.c > @@ -55,16 +55,10 @@ static struct musb_hdrc_config musb_config = { > }; > > static struct musb_hdrc_platform_data musb_plat = { > -#ifdef CONFIG_USB_MUSB_OTG > - .mode = MUSB_OTG, > -#elif defined(CONFIG_USB_MUSB_HDRC_HCD) > - .mode = MUSB_HOST, > -#elif defined(CONFIG_USB_GADGET_MUSB_HDRC) > - .mode = MUSB_PERIPHERAL, > -#endif > /* .clock is set dynamically */ > .config = &musb_config, > /* .power = DYNAMIC, */ > + /* .mode = DYNAMIC, */ > }; > > static u64 musb_dmamask = DMA_BIT_MASK(32); > @@ -81,7 +75,7 @@ static struct platform_device musb_device = { > .resource = musb_resources, > }; > > -void __init usb_musb_init(unsigned power) > +void __init usb_musb_init(enum musb_mode mode, unsigned power) > { > if (cpu_is_omap243x()) > musb_resources[0].start = OMAP243X_HS_BASE; > @@ -95,6 +89,7 @@ void __init usb_musb_init(unsigned power) > */ > musb_plat.clock = "ick"; > musb_plat.power = power >> 1; > + musb_plat.mode = mode; > > if (platform_device_register(&musb_device) < 0) { > printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n"); > @@ -103,7 +98,7 @@ void __init usb_musb_init(unsigned power) > } > > #else > -void __init usb_musb_init(unsigned power) > +void __init usb_musb_init(enum musb_mode mode, unsigned power) > { > } > #endif /* CONFIG_USB_MUSB_SOC */ > diff --git a/arch/arm/plat-omap/include/plat/usb.h b/arch/arm/plat-omap/include/plat/usb.h > index 1b779a1..1e03105 100644 > --- a/arch/arm/plat-omap/include/plat/usb.h > +++ b/arch/arm/plat-omap/include/plat/usb.h > @@ -3,6 +3,7 @@ > #ifndef __ASM_ARCH_OMAP_USB_H > #define __ASM_ARCH_OMAP_USB_H > > +#include <linux/usb/musb.h> > #include <plat/board.h> > > #define OMAP3_HS_USB_PORTS 3 > @@ -42,7 +43,7 @@ struct ehci_hcd_omap_platform_data { > #define UDC_BASE OMAP2_UDC_BASE > #define OMAP_OHCI_BASE OMAP2_OHCI_BASE > > -extern void usb_musb_init(unsigned power); > +extern void usb_musb_init(enum musb_mode mode, unsigned power); > > extern void usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata); > > -- > 1.6.6.rc0 > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html