linux/drivers/regulator
Mark Brown a0c7b164ad regulator: of: Provide simplified DT parsing method
Currently regulator drivers which support DT all repeat very similar code
to supply a list of known regulator identifiers to be matched with DT,
convert that to platform data which is then matched up with the regulators
as they are registered. This is both fiddly to get right and for devices
which can use the standard helpers to provide their operations is the main
source of code in the driver.

Since this code is essentially identical for most drivers we can factor it
out into the core, moving the identifiers in the match table into the
regulator descriptors and also allowing drivers to pass in the name of the
subnode to search. When a driver provides an of_match string for the
regulator the core will attempt to use that to obtain init_data, allowing
the driver to remove all explicit code for DT parsing and simply provide
data instead.

The current code leaks the phandles for the child nodes, this will be
addressed incrementally and makes no practical difference for FDT anyway
as the DT data structures are never freed.

Signed-off-by: Mark Brown <broonie@linaro.org>
2014-09-10 12:00:53 +01:00
..
88pm800.c regulator: 88pm800: remove duplicate PM800_BUCK3 define 2014-06-09 20:58:39 +01:00
88pm8607.c
aat2870-regulator.c regulator: aat2870: Use regulator_map_voltage_ascend 2014-03-26 16:52:39 +00:00
ab3100.c
ab8500-ext.c
ab8500.c regulator: ab8500: Remove ab8500_regulator_debug_init/exit() 2014-06-22 11:51:47 +01:00
act8865-regulator.c regulator: act8865: fix build when OF is not enabled 2014-08-05 18:02:54 +01:00
ad5398.c
anatop-regulator.c regulator: anatop: Make of_device_id array const 2014-05-07 20:55:41 +01:00
arizona-ldo1.c regulator: arizona-ldo1: remove bypass functionality 2014-07-04 18:51:45 +01:00
arizona-micsupp.c regulator: arizona-micsupp: Add missing #include 2014-05-08 18:16:51 +01:00
as3711-regulator.c
as3722-regulator.c Merge remote-tracking branches 'regulator/topic/88pm800', 'regulator/topic/ab8500', 'regulator/topic/act8865', 'regulator/topic/as3722' and 'regulator/topic/bcm590xx' into regulator-next 2014-08-05 18:29:18 +01:00
axp20x-regulator.c regulator: axp20x: Use regulator_map_voltage_ascend for LDO4 2014-06-01 13:42:42 +01:00
bcm590xx-regulator.c Merge remote-tracking branches 'regulator/topic/88pm800', 'regulator/topic/ab8500', 'regulator/topic/act8865', 'regulator/topic/as3722' and 'regulator/topic/bcm590xx' into regulator-next 2014-08-05 18:29:18 +01:00
core.c regulator: of: Provide simplified DT parsing method 2014-09-10 12:00:53 +01:00
da903x.c
da9052-regulator.c
da9055-regulator.c Merge remote-tracking branches 'regulator/topic/bcm590xx', 'regulator/topic/da9052', 'regulator/topic/da9055', 'regulator/topic/da9063', 'regulator/topic/da9210', 'regulator/topic/db8500' and 'regulator/topic/dbx500' into regulator-next 2014-03-26 16:57:51 +00:00
da9063-regulator.c Merge remote-tracking branches 'regulator/topic/bcm590xx', 'regulator/topic/da9052', 'regulator/topic/da9055', 'regulator/topic/da9063', 'regulator/topic/da9210', 'regulator/topic/db8500' and 'regulator/topic/dbx500' into regulator-next 2014-03-26 16:57:51 +00:00
da9210-regulator.c
da9210-regulator.h
da9211-regulator.c regulator: da9211: Remove unnecessary devm_regulator_unregister() calls 2014-07-25 18:23:28 +01:00
da9211-regulator.h regulator: da9211: new regulator driver 2014-07-14 19:15:56 +01:00
db8500-prcmu.c regulator: db8500-prcmu: Set 1.8V as a fixed voltage for vsmps2 2014-03-21 17:46:40 +00:00
dbx500-prcmu.c regulator: dbx500: use seq_puts() instead of seq_printf() 2014-03-19 10:19:49 +00:00
dbx500-prcmu.h
devres.c regulator: Constify the pointer to alias name array 2014-05-23 18:55:23 +01:00
dummy.c
dummy.h
fan53555.c
fixed-helper.c
fixed.c regulator: fixed: use of_property_read_{bool|u32}() 2014-05-26 16:19:36 +01:00
gpio-regulator.c
helpers.c regulator: helpers: Modify helpers enabling multi-bit control 2014-03-06 17:30:10 +08:00
internal.h regulator: of: Provide simplified DT parsing method 2014-09-10 12:00:53 +01:00
isl6271a-regulator.c
Kconfig Merge remote-tracking branches 'regulator/topic/s2mps11', 'regulator/topic/s2mpu02', 'regulator/topic/s5m8767' and 'regulator/topic/tps65090' into regulator-next 2014-08-05 18:29:27 +01:00
lp872x.c regulator: lp872x: Don't set constraints within the regulator driver 2014-07-28 13:19:23 +01:00
lp3971.c
lp3972.c
lp8755.c regulator: lp8755: Use devm_regulator_register 2014-07-09 11:44:01 +02:00
lp8788-buck.c
lp8788-ldo.c
ltc3589.c Merge remote-tracking branches 'regulator/topic/lp8755', 'regulator/topic/ltc3589', 'regulator/topic/max8952', 'regulator/topic/mc13xxx' and 'regulator/topic/palmas' into regulator-next 2014-08-05 18:29:24 +01:00
Makefile regulator: da9211: new regulator driver 2014-07-14 19:15:56 +01:00
max1586.c regulator: max1586: Don't allocate memory for regulator_dev pointers 2014-03-10 10:24:28 +00:00
max8649.c regulator: max8649: remove unnecessary OOM messages 2014-06-02 15:12:16 +01:00
max8660.c regulator: max8660: Fix brace alignment 2014-03-19 12:47:06 +00:00
max8907-regulator.c regulator: max8907: Remove regulator_dev array from state container 2014-03-10 09:34:59 +00:00
max8925-regulator.c regulator: max8925: Silence checkpatch warning 2014-03-18 12:40:19 +00:00
max8952.c regulator: max8952: Convert to devm_gpio_request_one() 2014-06-27 12:51:05 +01:00
max8973-regulator.c regulator: max8973: Remove unused field from 'struct max8973_chip' 2014-03-10 09:36:42 +00:00
max8997.c regulator: max8997: Remove unnecessary **rdev from struct max8997_data 2014-03-10 10:11:15 +00:00
max8998.c regulator: max8998: Remove unnecessary **rdev from struct max8998_data 2014-03-10 10:12:13 +00:00
max14577.c regulator: max14577: Add support for MAX77836 regulators 2014-04-23 14:09:45 +01:00
max77686.c regulator: max77686: Remove regulator_dev array from state container 2014-03-10 09:29:01 +00:00
max77693.c mfd: max77693: Remove unnecessary wrapper functions 2014-06-17 15:16:10 +01:00
mc13xxx-regulator-core.c regulator: mc13xxx: Remove unnecessary locks 2014-06-09 20:52:33 +01:00
mc13xxx.h regulator: mc13xxx: Remove unused field "hi_bit" 2014-06-09 20:50:35 +01:00
mc13783-regulator.c
mc13892-regulator.c
of_regulator.c regulator: of: Provide simplified DT parsing method 2014-09-10 12:00:53 +01:00
palmas-regulator.c regulator: palmas: Fix SMPS enable/disable/is_enable for tps65917 2014-07-03 15:25:56 +01:00
pbias-regulator.c regulator: pbias: remove unnecessary OOM messages 2014-06-02 15:14:51 +01:00
pcap-regulator.c
pcf50633-regulator.c
pfuze100-regulator.c regulator: pfuze100: Support enable/disable for fixed regulator 2014-05-27 12:25:57 +01:00
rc5t583-regulator.c
s2mpa01.c Merge remote-tracking branches 'regulator/topic/palmas', 'regulator/topic/pbias', 'regulator/topic/pfuze100', 'regulator/topic/s2mpa01' and 'regulator/topic/s2mps11' into regulator-next 2014-06-02 17:08:08 +01:00
s2mps11.c == Changes to existing drivers == 2014-08-07 17:17:39 -07:00
s5m8767.c regulator: s5m8767: Remove unused variable 2014-06-24 16:18:52 +01:00
st-pwm.c regulator: st-pwm: Make of_device_id array const 2014-05-07 20:56:09 +01:00
stw481x-vmmc.c
ti-abb-regulator.c
tps6105x-regulator.c
tps6507x-regulator.c
tps6524x-regulator.c
tps6586x-regulator.c regulator: tps6586x: Use regulator_list_voltage_linear for dvm/ldo4/sw2 2014-06-06 11:16:08 +01:00
tps51632-regulator.c
tps62360-regulator.c
tps65023-regulator.c
tps65090-regulator.c regulator: tps65090: Set voltage for fixed regulators 2014-07-31 20:24:29 +01:00
tps65217-regulator.c regulator: tps65217: Fix build warnings 2014-06-24 16:23:00 +01:00
tps65218-regulator.c regulator: tps65218: Add fixed_uV fields for dcdc5 and dcdc6 2014-07-10 14:11:36 +02:00
tps65910-regulator.c
tps65912-regulator.c
tps80031-regulator.c regulator: tps80031: remove unnecessary parentheses 2014-03-05 12:33:18 +08:00
twl-regulator.c regulator: twl: Convert to use devm_kmemdup() 2014-06-27 12:50:35 +01:00
userspace-consumer.c
vexpress.c regulator: Updates for v3.16 2014-06-03 11:44:48 -07:00
virtual.c drivers/regulator/virtual: avoid world-writable sysfs files. 2014-05-14 10:53:55 +09:30
wm831x-dcdc.c
wm831x-isink.c
wm831x-ldo.c
wm8350-regulator.c
wm8400-regulator.c
wm8994-regulator.c