Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Fri, 7 Jan 2011 21:16:28 +0000 (13:16 -0800)]
* 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits)
  USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004)
  USB: serial: ftdi_sio: add support for TIOCSERGETLSR
  USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport
  USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()
  usb: ehci-omap: fix tll channel enable mask
  usb: ohci-omap3: fix trivial typo
  USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096
  USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq's
  USB: gadget: update ci13xxx to work with g_ether
  USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers
  Revert "USB: musb: pm: don't rely fully on clock support"
  Revert "USB: musb: blackfin: pm: make it work"
  USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path
  USB: uas: Ensure we only bind to a UAS interface
  USB: uas: Rename sense pipe and sense urb to status pipe and status urb
  USB: uas: Use kzalloc instead of kmalloc
  USB: uas: Fix up the Sense IU
  usb: musb: core: kill unneeded #include's
  DA8xx: assign name to MUSB IRQ resource
  usb: gadget: g_ncm added
  ...

Manually fix up trivial conflicts in USB Kconfig changes in:
arch/arm/mach-omap2/Kconfig
arch/sh/Kconfig
drivers/usb/Kconfig
drivers/usb/host/ehci-hcd.c
and annoying chip clock data conflicts in:
arch/arm/mach-omap2/clock3xxx_data.c
arch/arm/mach-omap2/clock44xx_data.c

17 files changed:
1  2 
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-n8x0.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/clock2420_data.c
arch/arm/mach-omap2/clock2430_data.c
arch/arm/mach-omap2/clock3xxx_data.c
arch/arm/mach-omap2/clock44xx_data.c
arch/arm/mach-omap2/usb-tusb6010.c
arch/sh/Kconfig
drivers/net/wimax/i2400m/usb.c
drivers/usb/Kconfig
drivers/usb/host/Kconfig
drivers/usb/host/ehci-hcd.c
drivers/usb/host/ehci-mxc.c
drivers/usb/host/ohci-hcd.c

@@@ -46,8 -44,7 +46,9 @@@ config ARCH_OMAP
        select ARM_GIC
        select PL310_ERRATA_588369
        select ARM_ERRATA_720789
 +      select ARCH_HAS_OPP
 +      select PM_OPP if PM
+       select USB_ARCH_HAS_EHCI
  
  comment "OMAP Core Type"
        depends on ARCH_OMAP2
Simple merge
@@@ -248,11 -223,22 +249,21 @@@ static void __init omap_4430sdp_init_ir
        omap2_gp_clockevent_set_gptimer(1);
  #endif
        gic_init_irq();
 -      omap_gpio_init();
  }
  
+ static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
+       .port_mode[0]   = EHCI_HCD_OMAP_MODE_PHY,
+       .port_mode[1]   = EHCI_HCD_OMAP_MODE_UNKNOWN,
+       .port_mode[2]   = EHCI_HCD_OMAP_MODE_UNKNOWN,
+       .phy_reset      = false,
+       .reset_gpio_port[0]  = -EINVAL,
+       .reset_gpio_port[1]  = -EINVAL,
+       .reset_gpio_port[2]  = -EINVAL,
+ };
  static struct omap_musb_board_data musb_board_data = {
        .interface_type         = MUSB_INTERFACE_UTMI,
-       .mode                   = MUSB_PERIPHERAL,
+       .mode                   = MUSB_OTG,
        .power                  = 100,
  };
  
Simple merge
Simple merge
Simple merge
@@@ -3275,17 -3267,18 +3275,18 @@@ static struct omap_clk omap3xxx_clks[] 
        CLK(NULL,       "gfx_l3_ick",   &gfx_l3_ick,    CK_3430ES1),
        CLK(NULL,       "gfx_cg1_ck",   &gfx_cg1_ck,    CK_3430ES1),
        CLK(NULL,       "gfx_cg2_ck",   &gfx_cg2_ck,    CK_3430ES1),
 -      CLK(NULL,       "sgx_fck",      &sgx_fck,       CK_3430ES2 | CK_3517),
 -      CLK(NULL,       "sgx_ick",      &sgx_ick,       CK_3430ES2 | CK_3517),
 +      CLK(NULL,       "sgx_fck",      &sgx_fck,       CK_3430ES2PLUS | CK_3517 | CK_36XX),
 +      CLK(NULL,       "sgx_ick",      &sgx_ick,       CK_3430ES2PLUS | CK_3517 | CK_36XX),
        CLK(NULL,       "d2d_26m_fck",  &d2d_26m_fck,   CK_3430ES1),
 -      CLK(NULL,       "modem_fck",    &modem_fck,     CK_343X),
 -      CLK(NULL,       "sad2d_ick",    &sad2d_ick,     CK_343X),
 -      CLK(NULL,       "mad2d_ick",    &mad2d_ick,     CK_343X),
 +      CLK(NULL,       "modem_fck",    &modem_fck,     CK_34XX | CK_36XX),
 +      CLK(NULL,       "sad2d_ick",    &sad2d_ick,     CK_34XX | CK_36XX),
 +      CLK(NULL,       "mad2d_ick",    &mad2d_ick,     CK_34XX | CK_36XX),
        CLK(NULL,       "gpt10_fck",    &gpt10_fck,     CK_3XXX),
        CLK(NULL,       "gpt11_fck",    &gpt11_fck,     CK_3XXX),
 -      CLK(NULL,       "cpefuse_fck",  &cpefuse_fck,   CK_3430ES2 | CK_AM35XX),
 -      CLK(NULL,       "ts_fck",       &ts_fck,        CK_3430ES2 | CK_AM35XX),
 -      CLK(NULL,       "usbtll_fck",   &usbtll_fck,    CK_3430ES2 | CK_AM35XX),
 +      CLK(NULL,       "cpefuse_fck",  &cpefuse_fck,   CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK(NULL,       "ts_fck",       &ts_fck,        CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK(NULL,       "usbtll_fck",   &usbtll_fck,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+       CLK("ehci-omap.0",      "usbtll_fck",   &usbtll_fck,    CK_3430ES2 | CK_AM35XX),
        CLK("omap-mcbsp.1",     "prcm_fck",     &core_96m_fck,  CK_3XXX),
        CLK("omap-mcbsp.5",     "prcm_fck",     &core_96m_fck,  CK_3XXX),
        CLK(NULL,       "core_96m_fck", &core_96m_fck,  CK_3XXX),
        CLK(NULL,       "core_12m_fck", &core_12m_fck,  CK_3XXX),
        CLK("omap_hdq.0", "fck",        &hdq_fck,       CK_3XXX),
        CLK(NULL,       "ssi_ssr_fck",  &ssi_ssr_fck_3430es1,   CK_3430ES1),
 -      CLK(NULL,       "ssi_ssr_fck",  &ssi_ssr_fck_3430es2,   CK_3430ES2),
 +      CLK(NULL,       "ssi_ssr_fck",  &ssi_ssr_fck_3430es2,   CK_3430ES2PLUS | CK_36XX),
        CLK(NULL,       "ssi_sst_fck",  &ssi_sst_fck_3430es1,   CK_3430ES1),
 -      CLK(NULL,       "ssi_sst_fck",  &ssi_sst_fck_3430es2,   CK_3430ES2),
 +      CLK(NULL,       "ssi_sst_fck",  &ssi_sst_fck_3430es2,   CK_3430ES2PLUS | CK_36XX),
        CLK(NULL,       "core_l3_ick",  &core_l3_ick,   CK_3XXX),
-       CLK("musb_hdrc",        "ick",  &hsotgusb_ick_3430es1,  CK_3430ES1),
-       CLK("musb_hdrc",        "ick",  &hsotgusb_ick_3430es2,  CK_3430ES2PLUS | CK_36XX),
+       CLK("musb-omap2430",    "ick",  &hsotgusb_ick_3430es1,  CK_3430ES1),
 -      CLK("musb-omap2430",    "ick",  &hsotgusb_ick_3430es2,  CK_3430ES2),
++      CLK("musb-omap2430",    "ick",  &hsotgusb_ick_3430es2,  CK_3430ES2PLUS | CK_36XX),
        CLK(NULL,       "sdrc_ick",     &sdrc_ick,      CK_3XXX),
        CLK(NULL,       "gpmc_fck",     &gpmc_fck,      CK_3XXX),
 -      CLK(NULL,       "security_l3_ick", &security_l3_ick, CK_343X),
 -      CLK(NULL,       "pka_ick",      &pka_ick,       CK_343X),
 +      CLK(NULL,       "security_l3_ick", &security_l3_ick, CK_34XX | CK_36XX),
 +      CLK(NULL,       "pka_ick",      &pka_ick,       CK_34XX | CK_36XX),
        CLK(NULL,       "core_l4_ick",  &core_l4_ick,   CK_3XXX),
 -      CLK(NULL,       "usbtll_ick",   &usbtll_ick,    CK_3430ES2 | CK_AM35XX),
 -      CLK("ehci-omap.0",      "usbtll_ick",   &usbtll_ick,    CK_3430ES2 | CK_AM35XX),
 -      CLK("mmci-omap-hs.2",   "ick",  &mmchs3_ick,    CK_3430ES2 | CK_AM35XX),
 -      CLK(NULL,       "icr_ick",      &icr_ick,       CK_343X),
 -      CLK("omap-aes", "ick",  &aes2_ick,      CK_343X),
 -      CLK("omap-sham",        "ick",  &sha12_ick,     CK_343X),
 -      CLK(NULL,       "des2_ick",     &des2_ick,      CK_343X),
 +      CLK(NULL,       "usbtll_ick",   &usbtll_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++      CLK("ehci-omap.0",      "usbtll_ick",   &usbtll_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK("mmci-omap-hs.2",   "ick",  &mmchs3_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK(NULL,       "icr_ick",      &icr_ick,       CK_34XX | CK_36XX),
 +      CLK("omap-aes", "ick",  &aes2_ick,      CK_34XX | CK_36XX),
 +      CLK("omap-sham",        "ick",  &sha12_ick,     CK_34XX | CK_36XX),
 +      CLK(NULL,       "des2_ick",     &des2_ick,      CK_34XX | CK_36XX),
        CLK("mmci-omap-hs.1",   "ick",  &mmchs2_ick,    CK_3XXX),
        CLK("mmci-omap-hs.0",   "ick",  &mmchs1_ick,    CK_3XXX),
 -      CLK(NULL,       "mspro_ick",    &mspro_ick,     CK_343X),
 +      CLK(NULL,       "mspro_ick",    &mspro_ick,     CK_34XX | CK_36XX),
        CLK("omap_hdq.0", "ick",        &hdq_ick,       CK_3XXX),
        CLK("omap2_mcspi.4", "ick",     &mcspi4_ick,    CK_3XXX),
        CLK("omap2_mcspi.3", "ick",     &mcspi3_ick,    CK_3XXX),
        CLK("omapdss",  "video_fck",    &dss_96m_fck,   CK_3XXX),
        CLK("omapdss",  "dss2_fck",     &dss2_alwon_fck, CK_3XXX),
        CLK("omapdss",  "ick",          &dss_ick_3430es1,       CK_3430ES1),
 -      CLK("omapdss",  "ick",          &dss_ick_3430es2,       CK_3430ES2 | CK_AM35XX),
 -      CLK(NULL,       "cam_mclk",     &cam_mclk,      CK_343X),
 -      CLK(NULL,       "cam_ick",      &cam_ick,       CK_343X),
 -      CLK(NULL,       "csi2_96m_fck", &csi2_96m_fck,  CK_343X),
 -      CLK(NULL,       "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2 | CK_AM35XX),
 -      CLK("ehci-omap.0",      "hs_fck", &usbhost_120m_fck, CK_3430ES2 | CK_AM35XX),
 -      CLK(NULL,       "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2 | CK_AM35XX),
 -      CLK("ehci-omap.0",      "fs_fck", &usbhost_48m_fck, CK_3430ES2 | CK_AM35XX),
 -      CLK(NULL,       "usbhost_ick",  &usbhost_ick,   CK_3430ES2 | CK_AM35XX),
 -      CLK("ehci-omap.0",      "usbhost_ick",  &usbhost_ick,   CK_3430ES2 | CK_AM35XX),
 -      CLK(NULL,       "usim_fck",     &usim_fck,      CK_3430ES2),
 +      CLK("omapdss",  "ick",          &dss_ick_3430es2,       CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK(NULL,       "cam_mclk",     &cam_mclk,      CK_34XX | CK_36XX),
 +      CLK(NULL,       "cam_ick",      &cam_ick,       CK_34XX | CK_36XX),
 +      CLK(NULL,       "csi2_96m_fck", &csi2_96m_fck,  CK_34XX | CK_36XX),
 +      CLK(NULL,       "usbhost_120m_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++      CLK("ehci-omap.0",      "hs_fck", &usbhost_120m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK(NULL,       "usbhost_48m_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++      CLK("ehci-omap.0",      "fs_fck", &usbhost_48m_fck, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK(NULL,       "usbhost_ick",  &usbhost_ick,   CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
++      CLK("ehci-omap.0",      "usbhost_ick",  &usbhost_ick,   CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK(NULL,       "usim_fck",     &usim_fck,      CK_3430ES2PLUS | CK_36XX),
        CLK(NULL,       "gpt1_fck",     &gpt1_fck,      CK_3XXX),
        CLK(NULL,       "wkup_32k_fck", &wkup_32k_fck,  CK_3XXX),
        CLK(NULL,       "gpio1_dbck",   &gpio1_dbck,    CK_3XXX),
@@@ -3198,6 -2937,10 +3198,7 @@@ static struct omap_clk omap44xx_clks[] 
        CLK(NULL,       "uart3_fck",                    &uart3_fck,     CK_443X),
        CLK(NULL,       "uart4_fck",                    &uart4_fck,     CK_443X),
        CLK(NULL,       "usb_host_fs_fck",              &usb_host_fs_fck,       CK_443X),
+       CLK("ehci-omap.0",      "fs_fck",               &usb_host_fs_fck,       CK_443X),
 -      CLK(NULL,       "usb_host_hs_utmi_p3_clk",      &usb_host_hs_utmi_p3_clk,       CK_443X),
 -      CLK(NULL,       "usb_host_hs_hsic60m_p1_clk",   &usb_host_hs_hsic60m_p1_clk,    CK_443X),
 -      CLK(NULL,       "usb_host_hs_hsic60m_p2_clk",   &usb_host_hs_hsic60m_p2_clk,    CK_443X),
        CLK(NULL,       "utmi_p1_gfclk",                &utmi_p1_gfclk, CK_443X),
        CLK(NULL,       "usb_host_hs_utmi_p1_clk",      &usb_host_hs_utmi_p1_clk,       CK_443X),
        CLK(NULL,       "utmi_p2_gfclk",                &utmi_p2_gfclk, CK_443X),
Simple merge
diff --cc arch/sh/Kconfig
@@@ -348,7 -346,7 +348,8 @@@ config CPU_SUBTYPE_SH772
        select CPU_SH3
        select CPU_HAS_DSP
        select SYS_SUPPORTS_CMT
 +      select ARCH_WANT_OPTIONAL_GPIOLIB
+       select USB_ARCH_HAS_OHCI
        help
          Select SH7720 if you have a SH3-DSP SH7720 CPU.
  
@@@ -462,7 -458,8 +465,9 @@@ config CPU_SUBTYPE_SH778
        select CPU_SHX3
        select CPU_HAS_PTEAEX
        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
 +      select ARCH_WANT_OPTIONAL_GPIOLIB
+       select USB_ARCH_HAS_OHCI
+       select USB_ARCH_HAS_EHCI
  
  config CPU_SUBTYPE_SHX3
        bool "Support SH-X3 processor"
Simple merge
@@@ -41,7 -41,7 +41,8 @@@ config USB_ARCH_HAS_OHC
        default y if MFD_TC6393XB
        default y if ARCH_W90X900
        default y if ARCH_DAVINCI_DA8XX
 +      default y if ARCH_CNS3XXX
+       default y if PLAT_SPEAR
        # PPC:
        default y if STB03xxx
        default y if PPC_MPC52xx
@@@ -67,7 -62,9 +63,10 @@@ config USB_ARCH_HAS_EHC
        default y if ARCH_AT91SAM9G45
        default y if ARCH_MXC
        default y if ARCH_OMAP3
 +      default y if ARCH_CNS3XXX
+       default y if ARCH_VT8500
+       default y if PLAT_SPEAR
+       default y if ARCH_MSM
        default PCI
  
  # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
Simple merge
@@@ -1216,11 -1229,21 +1229,26 @@@ MODULE_LICENSE ("GPL")
  #define PLATFORM_DRIVER               ehci_octeon_driver
  #endif
  
 +#ifdef CONFIG_USB_CNS3XXX_EHCI
 +#include "ehci-cns3xxx.c"
 +#define PLATFORM_DRIVER               cns3xxx_ehci_driver
 +#endif
 +
+ #ifdef CONFIG_ARCH_VT8500
+ #include "ehci-vt8500.c"
+ #define       PLATFORM_DRIVER         vt8500_ehci_driver
+ #endif
+ #ifdef CONFIG_PLAT_SPEAR
+ #include "ehci-spear.c"
+ #define PLATFORM_DRIVER               spear_ehci_hcd_driver
+ #endif
+ #ifdef CONFIG_USB_EHCI_MSM
+ #include "ehci-msm.c"
+ #define PLATFORM_DRIVER               ehci_msm_driver
+ #endif
  #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \
      !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) && \
      !defined(XILINX_OF_PLATFORM_DRIVER)
Simple merge
Simple merge