linux/drivers/mfd
Russ Dill 2761a63945 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:12 +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 mfd: Use devm allocation for ab3100-core 2012-07-09 00:16:11 +02:00
ab3100-otp.c
ab8500-core.c mfd: Print ab8500 switch off cause 2012-07-09 00:16:10 +02:00
ab8500-debugfs.c mfd: Generically describe interactions with the DB8500 PRCMU 2012-07-09 00:16:08 +02:00
ab8500-gpadc.c mfd: Enable IRQF_ONESHOT when requesting a threaded IRQ for ab8500gpadc 2012-07-09 00:16:08 +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: Remove unused variable from da9052_device_init 2012-07-09 00:16:07 +02: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 mfd: Update db8500-prmcu hostport_access enable 2012-07-09 00:16:10 +02:00
dbx500-prcmu-regs.h mfd: Update db8500-prmcu hostport_access enable 2012-07-09 00:16:10 +02: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:11 +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: Add Maxim 77686 driver 2012-07-09 00:16:07 +02:00
max8925-core.c mfd: Transfer rtc max8925 irq from MFD defined resources 2012-07-09 00:16:10 +02: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: Add missing max8997 static storage class specifier 2012-07-09 00:16:10 +02: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
max77686-irq.c mfd: Add Maxim 77686 driver 2012-07-09 00:16:07 +02:00
max77686.c mfd: Add Maxim 77686 driver 2012-07-09 00:16:07 +02:00
max77693-irq.c mfd: Add MAX77693 irq handler 2012-05-20 17:27:06 +02:00
max77693.c mfd: Fix max77693 irq leak and wrong kfree call 2012-07-09 00:16:11 +02:00
mc13xxx-core.c mfd: Use devm_* APIs for mc13xxx 2012-07-09 00:16:08 +02:00
mc13xxx-i2c.c mfd: Use devm_* APIs for mc13xxx 2012-07-09 00:16:08 +02:00
mc13xxx-spi.c mfd: Use devm_* APIs for mc13xxx 2012-07-09 00:16:08 +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: Make MFD core code Device Tree and IRQ domain aware 2012-07-09 00:16:08 +02:00
omap-usb-host.c mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix issues. 2012-07-09 00:16:12 +02:00
palmas.c mfd: Add terminating entry for i2c_device_id palmas table 2012-07-09 00:16:07 +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
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: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8350-gpio.c mfd: Rename wm8350 static gpio_set_debounce() 2011-09-06 16:37:58 +02:00
wm8350-i2c.c mfd: Add regmap cache support for wm8350 2012-07-09 00:16:10 +02:00
wm8350-irq.c mfd: Rely on regmap cache in wm8350 interrupt controller 2012-07-09 00:16:10 +02:00
wm8350-regmap.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8400-core.c mfd: Export wm8400_block_read() 2012-05-20 17:27:05 +02:00
wm8994-core.c mfd: Restore wm8994 pin configuration after reset during suspend 2012-07-09 00:16:11 +02:00
wm8994-irq.c mfd: Support for user defined wm8994 irq flags 2012-07-09 00:16:10 +02: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