remarkable-linux/drivers/regulator
Mark Brown f21e0e81d8 regulator: Do bulk enables of regulators in parallel
In order to reduce the impact of ramp times rather than enabling the
regulators for a device in series use async tasks to run the actual
enables. This means that the delays which the enables implement can all
run in parallel, though it does mean that the order in which the
supplies come on may be unstable.

For super bonus fun points if any of the regulators are shared between
multiple supplies on the same device (as is rather likely) then this
will test our locking.  Note that in this case we only delay once for
each physical regulator so the threads shouldn't block each other while
delaying.

It'd be even nicer if we could coalesce writes to a shared enable registers
in PMICs but that's definitely future work, and it may also be useful
and is certainly more achievable to optimise out the parallelism if none
of the regulators implement ramp delays.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-05-30 11:56:57 +01:00
..
88pm8607.c regulator: Fix 88pm8607.c printk format warning 2011-05-26 19:47:29 +02:00
ab3100.c mfd: Use mfd cell platform_data for ab3100 cells platform bits 2011-05-26 19:44:58 +02:00
ab8500.c regulator: add ab8500 enable and raise time delays 2011-03-26 14:15:06 +00:00
ad5398.c i2c: Remove obsolete cleanup for clientdata 2010-09-30 14:14:22 +02:00
bq24022.c Regulators: ab3100/bq24022: add a missing .owner field in regulator_desc 2010-05-25 10:16:02 +01:00
core.c regulator: Do bulk enables of regulators in parallel 2011-05-30 11:56:57 +01:00
da903x.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
db8500-prcmu.c regulator: Use device platform_data to retrieve db8500 platform bits 2011-05-26 19:45:15 +02:00
dummy.c
dummy.h regulator: fix build when CONFIG_REGULATOR_DUMMY=n 2010-10-28 22:40:32 +01:00
fixed.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
isl6271a-regulator.c regulator: missing index in PTR_ERR() in isl6271a_probe() 2011-01-12 14:33:06 +00:00
Kconfig TPS65910: Add tps65910 regulator driver 2011-05-27 10:49:08 +01:00
lp3971.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
lp3972.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
Makefile TPS65910: Add tps65910 regulator driver 2011-05-27 10:49:08 +01:00
max1586.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
max8649.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
max8660.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
max8925-regulator.c regulator: Enable max8925 i2c sequence for control 2011-05-26 19:45:33 +02:00
max8952.c Fix common misspellings 2011-03-31 11:26:23 -03:00
max8997.c regulator: Remove MAX8997_REG_BUCK1DVS/MAX8997_REG_BUCK2DVS/MAX8997_REG_BUCK5DVS macros 2011-05-27 10:49:10 +01:00
max8998.c regulator: Fix memory leak in max8998_pmic_probe failure path 2011-05-27 10:49:09 +01:00
mc13xxx-regulator-core.c regulator: Fix off-by-one value range checking for mc13xxx_regulator_get_voltage 2011-05-27 10:49:10 +01:00
mc13xxx.h make mc13783 regulator code generic 2011-01-12 14:33:03 +00:00
mc13783-regulator.c mfd: Use mfd cell platform_data for mc13xxx cells platform bits 2011-05-26 19:45:07 +02:00
mc13892-regulator.c regulator: mc13892: Fix voltage unit in test case. 2011-05-27 10:49:10 +01:00
pcap-regulator.c regulator: Fix typo in PCAP regulator_set_voltage() 2011-01-12 14:33:00 +00:00
pcf50633-regulator.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
tps6105x-regulator.c regulator: Add missing platform_set_drvdata in tps6105x_regulator_probe 2011-05-27 10:34:36 +01:00
tps6507x-regulator.c regulator: Fix desc_id for tps65023/6507x/65910 2011-05-27 10:49:09 +01:00
tps6524x-regulator.c regulator: fix tps6524x section mismatch 2011-03-26 14:15:06 +00:00
tps6586x-regulator.c regulator: Report actual configured voltage to set_voltage() 2011-01-12 14:32:59 +00:00
tps65023-regulator.c regulator: Fix desc_id for tps65023/6507x/65910 2011-05-27 10:49:09 +01:00
tps65910-regulator.c regulator: tps65911: Add new chip version 2011-05-27 10:49:10 +01:00
twl-regulator.c REGULATOR: TWL6025: add support to twl-regulator 2011-05-27 10:49:29 +01:00
userspace-consumer.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
virtual.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm831x-dcdc.c regulator: Remove some unused variables from wm831x DCDCs 2011-05-27 10:49:08 +01:00
wm831x-isink.c regulator: Convert WM831x regulators to genirq 2011-03-26 14:15:04 +00:00
wm831x-ldo.c regulator: Convert WM831x regulators to genirq 2011-03-26 14:15:04 +00:00
wm8350-regulator.c regulator: Convert WM835x to use get_voltage_sel() 2011-01-12 14:33:04 +00:00
wm8400-regulator.c regulator: Convert WM8400 to get_voltage_sel() 2011-05-27 10:34:37 +01:00
wm8994-regulator.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-01-13 10:32:54 -08:00