diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-05 12:01:30 +0900 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-05 12:01:30 +0900 | 
| commit | 578f1ef91aa92beb571bfb9af8f4d18f405f3b9e (patch) | |
| tree | 8ff59e772d09180b7e7f952a8c90a1bcf25e1d19 /arch/arm/mach-omap2/usb-host.c | |
| parent | ecefbd94b834fa32559d854646d777c56749ef1c (diff) | |
| parent | 74d8378159de16a0a1d1975d4778120d263d6000 (diff) | |
| download | olio-linux-3.10-578f1ef91aa92beb571bfb9af8f4d18f405f3b9e.tar.xz olio-linux-3.10-578f1ef91aa92beb571bfb9af8f4d18f405f3b9e.zip  | |
Merge tag 'mfd-3.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
Pull MFD changes from Samuel Ortiz:
 "MFD bits for the 3.7 merge window.
  As usual we have a few new drivers:
   - TI LP8788
   - TI OMAP USB TLL
   - Maxim MAX8907
   - SMSC ECE1099
   - Dialog Semiconductor DA9055
   - A simpler syscon driver that allow us to get rid of the anatop one.
  Drivers are also gradually getting Device Tree and IRQ domain support.
  The following drivers got DT support:
   - palmas, 88pm860x, tc3589x and twl4030-audio
  And those ones now use the IRQ domain APIs:
   - 88pm860x, tc3589x, db8500_prcmu
  Also some other interesting changes:
   - Intel's ICH LPC now supports Lynx Point
   - TI's twl4030-audio added a GPO child
   - tps6527 enabled its backlight subdevice
   - The twl6030 pwm driver moved to the new PWM subsystem
  And finally a bunch of cleanup and casual fixes for mc13xxx, 88pm860x,
  palmas, ab8500, wm8994, wm5110, max8907 and the tps65xxx family."
Fix up various annoying conflicts: the DT and IRQ domain support came in
twice and was already in 3.6. And then it was apparently rebased.
Guys, DON'T REBASE!
* tag 'mfd-3.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (89 commits)
  ARM: dts: Enable 88pm860x pmic
  mfd: 88pm860x: Move gpadc init into touch
  mfd: 88pm860x: Device tree support
  mfd: 88pm860x: Use irqdomain
  mfd: smsc: Add support for smsc gpio io/keypad driver
  backlight: tps65217_bl: Add missing platform_set_drvdata in tps65217_bl_probe
  mfd: DA9055 core driver
  mfd: tps65910: Add alarm interrupt of TPS65910 RTC to mfd device list
  mfd: wm5110: Add register patches for revision B
  mfd: wm5110: Disable control interface error report for WM5110 rev B
  mfd: max8907: Remove regulator-compatible from DT docs
  backlight: Add TPS65217 WLED driver
  mfd: Add backlight as subdevice to the tps65217
  mfd: Provide the PRCMU with its own IRQ domain
  mfd: Fix max8907 sparse warning
  mfd: Add lp8788 mfd driver
  mfd: dbx500: Provide a more accurate smp_twd clock
  mfd: rc5t583: Fix warning messages
  regulator: palmas: Add DT support
  mfd: palmas: Change regulator defns to better suite DT
  ...
Diffstat (limited to 'arch/arm/mach-omap2/usb-host.c')
| -rw-r--r-- | arch/arm/mach-omap2/usb-host.c | 31 | 
1 files changed, 22 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/usb-host.c b/arch/arm/mach-omap2/usb-host.c index ac95daaa470..3c434498e12 100644 --- a/arch/arm/mach-omap2/usb-host.c +++ b/arch/arm/mach-omap2/usb-host.c @@ -33,10 +33,12 @@  #ifdef CONFIG_MFD_OMAP_USB_HOST  #define OMAP_USBHS_DEVICE	"usbhs_omap" +#define OMAP_USBTLL_DEVICE	"usbhs_tll"  #define	USBHS_UHH_HWMODNAME	"usb_host_hs"  #define USBHS_TLL_HWMODNAME	"usb_tll_hs"  static struct usbhs_omap_platform_data		usbhs_data; +static struct usbtll_omap_platform_data		usbtll_data;  static struct ehci_hcd_omap_platform_data	ehci_data;  static struct ohci_hcd_omap_platform_data	ohci_data; @@ -485,13 +487,14 @@ void __init setup_4430ohci_io_mux(const enum usbhs_omap_port_mode *port_mode)  void __init usbhs_init(const struct usbhs_omap_board_data *pdata)  { -	struct omap_hwmod	*oh[2]; +	struct omap_hwmod	*uhh_hwm, *tll_hwm;  	struct platform_device	*pdev;  	int			bus_id = -1;  	int			i;  	for (i = 0; i < OMAP3_HS_USB_PORTS; i++) {  		usbhs_data.port_mode[i] = pdata->port_mode[i]; +		usbtll_data.port_mode[i] = pdata->port_mode[i];  		ohci_data.port_mode[i] = pdata->port_mode[i];  		ehci_data.port_mode[i] = pdata->port_mode[i];  		ehci_data.reset_gpio_port[i] = pdata->reset_gpio_port[i]; @@ -510,25 +513,35 @@ void __init usbhs_init(const struct usbhs_omap_board_data *pdata)  		setup_4430ohci_io_mux(pdata->port_mode);  	} -	oh[0] = omap_hwmod_lookup(USBHS_UHH_HWMODNAME); -	if (!oh[0]) { +	uhh_hwm = omap_hwmod_lookup(USBHS_UHH_HWMODNAME); +	if (!uhh_hwm) {  		pr_err("Could not look up %s\n", USBHS_UHH_HWMODNAME);  		return;  	} -	oh[1] = omap_hwmod_lookup(USBHS_TLL_HWMODNAME); -	if (!oh[1]) { +	tll_hwm = omap_hwmod_lookup(USBHS_TLL_HWMODNAME); +	if (!tll_hwm) {  		pr_err("Could not look up %s\n", USBHS_TLL_HWMODNAME);  		return;  	} -	pdev = omap_device_build_ss(OMAP_USBHS_DEVICE, bus_id, oh, 2, -				(void *)&usbhs_data, sizeof(usbhs_data), +	pdev = omap_device_build(OMAP_USBTLL_DEVICE, bus_id, tll_hwm, +				&usbtll_data, sizeof(usbtll_data),  				omap_uhhtll_latency,  				ARRAY_SIZE(omap_uhhtll_latency), false);  	if (IS_ERR(pdev)) { -		pr_err("Could not build hwmod devices %s,%s\n", -			USBHS_UHH_HWMODNAME, USBHS_TLL_HWMODNAME); +		pr_err("Could not build hwmod device %s\n", +		       USBHS_TLL_HWMODNAME); +		return; +	} + +	pdev = omap_device_build(OMAP_USBHS_DEVICE, bus_id, uhh_hwm, +				&usbhs_data, sizeof(usbhs_data), +				omap_uhhtll_latency, +				ARRAY_SIZE(omap_uhhtll_latency), false); +	if (IS_ERR(pdev)) { +		pr_err("Could not build hwmod devices %s\n", +		       USBHS_UHH_HWMODNAME);  		return;  	}  }  |