linux/drivers/mfd
Russ Dill c05995c3d7 mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix issues.
'ARM: OMAP3: USB: Fix the EHCI ULPI PHY reset issue' (1fcb57d0) fixes
an issue where the ULPI PHYs were not held in reset while initializing
the EHCI controller. However, it also changes behavior in
omap-usb-host.c omap_usbhs_init by releasing reset while the
configuration in that function was done.

This change caused a regression on BB-xM where USB would not function
if 'usb start' had been run from u-boot before booting. A change was
made to release reset a little bit earlier which fixed the issue on
BB-xM and did not cause any regressions on 3430 sdp, the board for
which the fix was originally made.

This new fix, 'USB: EHCI: OMAP: Finish ehci omap phy reset cycle
before adding hcd.', (3aa2ae74) caused a regression on OMAP5.

The original fix to hold the EHCI controller in reset during
initialization was correct, however it appears that changing
omap_usbhs_init to not hold the PHYs in reset during it's
configuration was incorrect. This patch first reverts both fixes, and
then changes ehci_hcd_omap_probe in ehci-omap.c to hold the PHYs in
reset as the original patch had done. It also is sure to incorporate
the _cansleep change that has been made in the meantime.

I've tested this on Beagleboard xM, I'd really like to get an ack from
the 3430 sdp and OMAP5 guys before getting this merged.

v3 - Brown paper bag its too early in the morning actually run
     git commit amend fix
v2 - Put cansleep gpiolib call outside of spinlock

Acked-by: Mantesh Sarashetti <mantesh@ti.com>
Tested-by: Mantesh Sarashetti <mantesh@ti.com>
Acked-by: Keshava Munegowda <keshava_mgowda@ti.com>
Tested-by: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-07-09 00:16:25 +02:00
..
88pm860x-core.c mfd: Fix pm8606 build failure 2012-03-06 18:46:57 +01:00
88pm860x-i2c.c mfd: Add ability to wake the system for 88pm860x 2012-03-06 18:46:49 +01:00
aat2870-core.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ab3100-core.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ab3100-otp.c
ab8500-core.c mfd: Enable Device Tree for ab8500-core driver 2012-05-20 17:27:10 +02:00
ab8500-debugfs.c mfd: Enable ab8500-debug when Device Tree is enabled 2012-05-20 17:27:10 +02:00
ab8500-gpadc.c mfd: Enable ab8500-gpadc driver for Device Tree 2012-05-20 17:27:11 +02:00
ab8500-sysctrl.c mfd: Enable Device Tree support in the ab8500-sysctrl driver 2012-05-20 17:27:13 +02:00
abx500-core.c mfd: Add module.h to the implicit drivers/mfd users 2011-10-31 19:32:04 -04:00
adp5520.c mfd: Set adp5520 bits if new value is different from the old one 2011-12-20 18:50:55 +01:00
anatop-mfd.c mfd: Make anatop register accessor more flexible and rename meaningfully 2012-05-20 17:27:07 +02:00
asic3.c mfd: No need to check for the GPIO offset from asic3_gpio_to_irq 2012-05-01 12:00:23 +02:00
cs5535-mfd.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
da903x.c mfd: Set da903x bits if new value is different from the old one 2011-12-20 18:50:56 +01:00
da9052-core.c MFD changes for 3.5 2012-05-29 11:53:11 -07:00
da9052-i2c.c mfd: Convert da9052 to use devm_* APIs 2012-05-20 17:27:03 +02:00
da9052-spi.c mfd: Convert da9052 to use devm_* APIs 2012-05-20 17:27:03 +02:00
davinci_voicecodec.c mfd: Use mfd cell platform_data for davinci cells platform bits 2011-05-26 19:45:13 +02:00
db8500-prcmu.c ARM: ux500: Provide regulator support for SMSC911x via Device Tree 2012-06-01 02:04:46 +02:00
dbx500-prcmu-regs.h mfd : Check if the other db8500 core is in WFI 2012-03-06 18:46:56 +01:00
dm355evm_msp.c mfd: Use gpio_request_one from dm355evm_msp 2012-01-09 00:37:38 +01:00
ezx-pcap.c Fix common misspellings 2011-03-31 11:26:23 -03:00
htc-egpio.c mfd: Fold irq_set_chip/irq_set_handler 2011-03-27 00:09:52 +01:00
htc-i2cpld.c mfd: Fold irq_set_chip/irq_set_handler 2011-03-27 00:09:52 +01:00
htc-pasic3.c w1: ds1wm: add a reset recovery parameter 2011-07-08 21:14:44 -07:00
intel_msic.c mfd: Convert Intel MSIC driver to use devm_* interfaces. 2012-05-01 12:00:23 +02:00
janz-cmodio.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
jz4740-adc.c mfd: Don't declare jz4740_adc_cells const 2012-01-09 00:37:36 +01:00
Kconfig mfd: Update twl6040 Kconfig to avoid build breakage 2012-07-09 00:16:25 +02:00
lm3533-core.c mfd: Mark two lm3533 zone registers as volatile 2012-05-20 17:27:14 +02:00
lm3533-ctrlbank.c mfd: Use SI-units for the lm3533 max-current interface 2012-05-20 17:27:02 +02:00
lpc_ich.c watchdog: Convert iTCO_wdt driver to mfd model 2012-05-09 17:20:09 +02:00
lpc_sch.c mfd: Change tunnelcreek watchdog name on the lpc_sch subdevices array 2012-05-20 17:27:03 +02:00
Makefile MFD changes for 3.5 2012-05-29 11:53:11 -07:00
max8925-core.c max8925_power: Remove support for irq bits that do not exist 2011-11-25 23:24:45 +04:00
max8925-i2c.c mfd: Add pm ops to max8925 2012-01-09 01:03:34 +01:00
max8997-irq.c mfd: Revert "mfd: add irq domain support for max8997 interrupts" 2012-04-17 14:51:47 +01:00
max8997.c mfd: Revert "mfd: add irq domain support for max8997 interrupts" 2012-04-17 14:51:47 +01:00
max8998-irq.c mfd: Cleanup irq namespace 2011-03-27 00:09:51 +01:00
max8998.c mfd: Use standard device wakeup for handling max8998 wakeup device 2012-01-09 00:37:36 +01:00
max77693-irq.c mfd: Add MAX77693 irq handler 2012-05-20 17:27:06 +02:00
max77693.c mfd: Add MAX77693 irq handler 2012-05-20 17:27:06 +02:00
mc13xxx-core.c MFD changes for 3.5 2012-05-29 11:53:11 -07:00
mc13xxx-i2c.c mfd: Add mc13xxx i2c driver 2012-05-01 12:35:41 +02:00
mc13xxx-spi.c mfd: mc13xxx workaround SPI hardware bug on i.Mx 2012-07-09 00:16:25 +02:00
mc13xxx.h mfd: Move the mc13xxx-core spi specific code into a separate module 2012-05-01 12:35:40 +02:00
mcp-core.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mcp-sa11x0.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
menelaus.c Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6 2011-11-03 09:40:51 -07:00
mfd-core.c mfd: Fix ACPI conflict check 2012-03-06 18:46:47 +01:00
omap-usb-host.c mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix issues. 2012-07-09 00:16:25 +02:00
palmas.c mfd: Add terminating entry for i2c_device_id palmas table 2012-07-09 00:16:24 +02:00
pcf50633-adc.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
pcf50633-core.c mfd: Convert pcf50633-core to use devm_* APIs 2012-05-20 17:27:04 +02:00
pcf50633-gpio.c mfd: Include linux/mfd/pcf50633/pmic.h in pcf50633-gpio.c 2012-03-06 18:46:51 +01:00
pcf50633-irq.c mfd: Include linux/mfd/pcf50633/mbc.h in pcf50633-irq.c 2012-03-06 18:46:51 +01:00
pm8xxx-irq.c mfd: Add pm8xxx irq support 2011-05-26 19:45:28 +02:00
pm8921-core.c mfd: Add pm8xxx irq support 2011-05-26 19:45:28 +02:00
rc5t583-irq.c mfd: Add support for RICOH PMIC RC5T583 2012-03-16 20:05:45 +01:00
rc5t583.c mfd: Convert rc5t583 to devm_regmap_init_i2c() 2012-05-09 17:50:29 +02:00
rdc321x-southbridge.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
s5m-core.c mfd: Convert s5m-core to devm_regmap_init_i2c() 2012-05-09 17:50:53 +02:00
s5m-irq.c mfd: Fix s5m error handling for invalid device type 2012-03-06 18:46:35 +01:00
sm501.c mfd: Use DIV_ROUND_CLOSEST for sm501 clock 2012-03-16 20:37:47 +01:00
sta2x11-mfd.c mfd: Add driver for STA2X11 MFD block 2012-05-09 15:34:28 +02:00
stmpe-i2c.c Viresh has moved 2012-06-20 14:39:36 -07:00
stmpe-spi.c Viresh has moved 2012-06-20 14:39:36 -07:00
stmpe.c mfd: Add support for no-interrupt stmpe config 2012-03-06 18:46:38 +01:00
stmpe.h mfd: Add support for stmpe variant 801 2012-01-09 00:37:44 +01:00
t7l66xb.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
tc3589x.c mfd: Add missing #ifdef around tc3589x PM block 2011-10-24 14:09:09 +02:00
tc6387xb.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
tc6393xb.c mtd: Use platform_data to retrieve tmio_nand platform bits 2011-05-26 19:45:04 +02:00
ti-ssp.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
timberdale.c mfd: Convert to DEFINE_PCI_DEVICE_TABLE 2012-01-09 00:37:37 +01:00
timberdale.h [media] mfd: Add timberdale video-in driver to timberdale 2010-12-29 08:16:46 -02:00
tmio_core.c mfd: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:32:05 -04:00
tps6105x.c mfd: Use mfd cell platform_data for tps6105x cells platform bits 2011-05-26 19:45:11 +02:00
tps6507x.c mfd: Fix off-by-one value range checking for tps6507x 2010-10-29 00:30:29 +02:00
tps6586x.c tps6586x: Add device tree support 2012-05-04 13:25:16 +01:00
tps65010.c mfd: Include <linux/gpio.h> instead of <asm/gpio.h> 2011-01-14 12:37:36 +01:00
tps65090.c MFD changes for 3.5 2012-05-29 11:53:11 -07:00
tps65217.c mfd: Staticise non-exported tps65217_update_bits() 2012-05-20 17:27:00 +02:00
tps65910-irq.c mfd: Add tps65910-irq devicetree init and irqdomain support 2012-05-20 17:27:08 +02:00
tps65910.c mfd: Remove the parsing of dt info for tps65910 gpio 2012-05-22 23:49:52 +02:00
tps65911-comparator.c Fix typo milivolt => millivolt 2012-04-05 16:58:23 -07:00
tps65912-core.c mfd: Initialize tps65912 irq platform data properly 2012-03-06 18:46:47 +01:00
tps65912-i2c.c mfd: Fix off-by-one value range checking for tps65912_i2c_write 2011-07-31 23:28:25 +02:00
tps65912-irq.c tps65912: irq: add interrupt controller 2011-07-31 23:28:22 +02:00
tps65912-spi.c mfd: Remove redundant spi driver bus initialization 2012-01-09 00:37:31 +01:00
twl4030-audio.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
twl4030-irq.c mfd: enable wakeup on twl4030 IRQ. 2012-05-09 18:02:51 +02:00
twl4030-madc.c mfd: Convert MFD drivers to use module_platform_driver 2012-01-09 00:37:31 +01:00
twl4030-power.c ARM: omap: fix section mismatch errors in TWL PMIC driver 2012-02-13 10:00:35 +00:00
twl6030-irq.c mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups 2012-03-22 13:05:34 +01:00
twl6030-pwm.c mfd: twl6030-pwm.c needs MODULE_LICENSE 2011-07-31 23:28:27 +02:00
twl6040-core.c mfd: Fix twl6040 build failure 2012-05-23 16:24:14 +02:00
twl6040-irq.c mfd: Add support for Device Tree to twl6040 2012-05-20 17:27:12 +02:00
twl-core.c mfd: Define all twl-regulator feature flags in one place 2012-05-20 17:26:58 +02:00
twl-core.h mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files 2012-03-22 13:04:33 +01:00
ucb1x00-assabet.c MFD: ucb1x00-assabet: add support for UCB1x00 GPIO switches 2012-02-18 23:15:44 +00:00
ucb1x00-core.c MFD: ucb1x00-core: add wakeup support 2012-02-18 23:15:43 +00:00
ucb1x00-ts.c MFD: ucb1x00: convert to use genirq 2012-02-18 23:15:43 +00:00
ucb1400_core.c Fix common misspellings 2011-03-31 11:26:23 -03:00
vx855.c mfd: Use module_pci_driver 2012-05-01 12:00:21 +02:00
wl1273-core.c mfd: Add module.h to the implicit drivers/mfd users 2011-10-31 19:32:04 -04:00
wm831x-auxadc.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-core.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-i2c.c mfd: wm831x: Convert to devm_regmap_init() 2012-02-22 13:57:05 +00:00
wm831x-irq.c mfd: Emulate active low IRQs as well as active high IRQs for wm831x 2012-05-20 17:27:14 +02:00
wm831x-otp.c
wm831x-spi.c MFD changes for 3.4 2012-03-28 13:56:35 -07:00
wm8350-core.c mfd: Convert wm8350 physical I/O to regmap API 2012-05-07 11:32:08 +02:00
wm8350-gpio.c mfd: Rename wm8350 static gpio_set_debounce() 2011-09-06 16:37:58 +02:00
wm8350-i2c.c mfd: Fix double free in wm8350 error path 2012-05-20 17:27:09 +02:00
wm8350-irq.c mfd: wm8350 variable dereferenced before check 2012-03-06 18:46:34 +01:00
wm8350-regmap.c
wm8400-core.c mfd: Export wm8400_block_read() 2012-05-20 17:27:05 +02:00
wm8994-core.c mfd: Convert wm8994 to module_i2c_driver() 2012-05-07 11:32:09 +02:00
wm8994-irq.c mfd: wm8994: Update to fully use irq_domain 2012-05-15 18:57:25 +01:00
wm8994-regmap.c mfd: Cache wm8994 chip revision 2012-05-01 12:00:21 +02:00
wm8994.h mfd: Initialise WM8994 register cache after reading chip ID registers 2011-12-13 00:11:13 +08:00