linux/drivers/regulator
Linus Walleij 01dc79cd6f
regulator: fixed/gpio: Pull inversion/OD into gpiolib
This pushes the handling of inversion semantics and open drain
settings to the GPIO descriptor and gpiolib. All affected board
files are also augmented.

This is especially nice since we don't have to have any
confusing flags passed around to the left and right littering
the fixed and GPIO regulator drivers and the regulator core.
It is all just very straight-forward: the core asks the GPIO
line to be asserted or deasserted and gpiolib deals with the
rest depending on how the platform is configured: if the line
is active low, it deals with that, if the line is open drain,
it deals with that too.

Cc: Alexander Shiyan <shc_work@mail.ru> # i.MX boards user
Cc: Haojian Zhuang <haojian.zhuang@gmail.com> # MMP2 maintainer
Cc: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP1 maintainer
Cc: Tony Lindgren <tony@atomide.com> # OMAP1,2,3 maintainer
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> # EM-X270 maintainer
Cc: Robert Jarzmik <robert.jarzmik@free.fr> # EZX maintainer
Cc: Philipp Zabel <philipp.zabel@gmail.com> # Magician maintainer
Cc: Petr Cvek <petr.cvek@tul.cz> # Magician
Cc: Robert Jarzmik <robert.jarzmik@free.fr> # PXA
Cc: Paul Parsons <lost.distance@yahoo.com> # hx4700
Cc: Daniel Mack <zonque@gmail.com> # Raumfeld maintainer
Cc: Marc Zyngier <marc.zyngier@arm.com> # Zeus maintainer
Cc: Geert Uytterhoeven <geert+renesas@glider.be> # SuperH pinctrl/GPIO maintainer
Cc: Russell King <rmk+kernel@armlinux.org.uk> # SA1100
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Janusz Krzysztofik <jmkrzyszt@gmail.com> #OMAP1 Amstrad Delta
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-02-06 15:58:29 +00:00
..
88pg86x.c regulator: 88pg86x: new i2c dual regulator chip 2018-03-09 13:01:17 +00:00
88pm800.c regulator: 88pm800: constify regulator_ops structures 2017-01-31 20:32:26 +00:00
88pm8607.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
aat2870-regulator.c regulator: aat2870-regulator: constify regulator_ops structure 2017-01-31 20:35:49 +00:00
ab3100.c
ab8500-ext.c
ab8500.c regulator: ab8500: Drop AB8540/9540 support 2018-04-16 13:08:59 +01:00
act8865-regulator.c regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting 2019-01-14 11:50:42 +00:00
act8945a-regulator.c regulator: act8945a: Use rdev_get_id() to access id of regulator 2019-01-07 17:01:26 +00:00
ad5398.c regulator: ad5398: constify regulator_ops structure 2017-01-31 20:38:27 +00:00
anatop-regulator.c regulator: anatop: Switch to SPDX identifier 2018-05-24 15:17:07 +01:00
arizona-ldo1.c regulator: arizona-ldo1: Convert to use regulator_linear_range for ldo1_hc 2019-01-22 17:24:22 +00:00
arizona-micsupp.c regulator: arizona-micsupp: Factor out generic initialization 2017-04-25 16:36:31 +01:00
as3711-regulator.c regulator: as3711: convert to SPDX identifiers 2018-11-13 16:21:50 -08:00
as3722-regulator.c regulator: as3722: Correct minor typo 2019-02-06 15:52:32 +00:00
axp20x-regulator.c regulator: axp20x: fix ALDO2, DLDO2 and ELDO3 definitions for AXP803 2019-01-28 12:21:48 +00:00
bcm590xx-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
bd718x7-regulator.c regulator: bd718x7: Constify regulator_ops 2019-01-24 17:52:59 +00:00
bd9571mwv-regulator.c regulator: bd9571mwv: Constify regulator_ops 2019-01-24 17:53:12 +00:00
bd70528-regulator.c regulator: bd70528: Constify regulator_linear_range and regulator_ops 2019-01-24 17:51:02 +00:00
core.c regulator: fixed/gpio: Pull inversion/OD into gpiolib 2019-02-06 15:58:29 +00:00
cpcap-regulator.c regulator: Add support for CPCAP regulators on Motorola Xoom devices. 2018-07-24 15:37:08 +01:00
da903x.c
da9052-regulator.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
da9055-regulator.c regulator: fixed/gpio: Pull inversion/OD into gpiolib 2019-02-06 15:58:29 +00:00
da9062-regulator.c regulator: da9062: Check return value of devm_regmap_field_alloc calls 2019-01-28 12:22:01 +00:00
da9063-regulator.c regulator: da9063: Check return value of devm_regmap_field_alloc calls 2019-01-28 12:22:14 +00:00
da9210-regulator.c regulator: core: Use ww_mutex for regulators locking 2018-11-19 12:33:17 +00:00
da9210-regulator.h
da9211-regulator.c regulator: da9211: Hand over GPIO to regulator core 2018-12-11 01:04:37 +00:00
da9211-regulator.h regulator: da9211: update for supporting da9223/4/5 2017-10-31 11:01:14 +00:00
db8500-prcmu.c
dbx500-prcmu.c regulator: convert to DEFINE_SHOW_ATTRIBUTE 2018-12-20 14:38:42 +00:00
dbx500-prcmu.h
devres.c regulator: core: optimize devm_regulator_bulk_get() 2017-02-04 11:37:25 +01:00
dummy.c
dummy.h
fan53555.c regulator: fan53555: fix I2C device ids 2017-08-21 16:57:53 +01:00
fixed-helper.c regulator: fixed: Convert to use GPIO descriptor only 2018-09-17 14:32:22 -07:00
fixed.c regulator: fixed/gpio: Pull inversion/OD into gpiolib 2019-02-06 15:58:29 +00:00
gpio-regulator.c regulator: gpio: Convert to use descriptors 2019-02-06 15:58:15 +00:00
helpers.c regulator/mfd: Support for the ROHM BD71847 2018-09-28 15:07:30 +01:00
hi655x-regulator.c regulator: hi655x: Removed unused ctrl_regs field from struct hi655x_regulator 2019-01-14 11:44:09 +00:00
hi6421-regulator.c regulator: hi6421: Describe consumed platform device 2017-06-07 20:25:49 +01:00
hi6421v530-regulator.c regulator: hi6421v530: Describe consumed platform device 2017-06-14 18:27:20 +01:00
internal.h regulator: core: Only count load for enabled consumers 2018-11-22 14:38:00 +00:00
isl6271a-regulator.c regulator: isl6271a: Constify isl_core_ops and isl_fixed_ops 2019-01-28 15:30:58 +00:00
isl9305.c regulator: isl9305: Add missing .owner field in regulator_desc 2018-08-28 19:41:36 +01:00
Kconfig regulator: max77650: add regulator support 2019-01-29 15:22:12 +00:00
lm363x-regulator.c regulator: lm363x: Let core handle GPIO descriptor 2018-12-11 01:03:49 +00:00
lochnagar-regulator.c regulator: lochnagar: Add missing MODULE_DEVICE_TABLE 2019-01-18 18:02:25 +00:00
lp872x.c regulator: lp872x: Constify regulator_ops and regulator_desc 2019-01-28 12:20:28 +00:00
lp873x-regulator.c regulator: lp873x: Constify lp873x_buck01_ops and lp873x_ldo01_ops 2019-01-28 12:20:41 +00:00
lp3971.c regulator: lp3971: Constify lp3971_ldo_ops and lp3971_dcdc_ops 2019-01-28 12:18:11 +00:00
lp3972.c regulator: lp3972: Constify lp3972_ldo_ops and lp3972_dcdc_ops 2019-01-28 12:20:14 +00:00
lp8755.c regulator: lp8755: Constify lp8755_regulators 2019-01-28 12:20:54 +00:00
lp8788-buck.c regulator: lp8788-buck: Constify lp8788_buck_desc 2019-01-28 12:21:21 +00:00
lp8788-ldo.c regulator: lp8788-ldo: Constify lp8788_dldo_desc and lp8788_aldo_desc 2019-01-28 12:21:34 +00:00
lp87565-regulator.c regulator: lp87565: Constify lp87565_buck_ramp_delay and lp87565_buck_ops 2019-01-28 12:21:07 +00:00
ltc3589.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
ltc3676.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
Makefile regulator: max77650: add regulator support 2019-01-29 15:22:12 +00:00
max1586.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
max8649.c
max8660.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
max8907-regulator.c regulator: max8907-regulator: constify regulator_ops structure 2017-01-31 20:54:26 +00:00
max8925-regulator.c regulator: max8925-regulator: constify regulator_ops structure 2017-01-31 20:54:41 +00:00
max8952.c regulator: max8952: Let core handle GPIO descriptor 2018-12-11 01:03:59 +00:00
max8973-regulator.c regulator: max8973: Let core handle GPIO descriptor 2018-12-11 01:04:31 +00:00
max8997-regulator.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
max8998.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max14577-regulator.c regulator: max14577: Remove redundant MODULE_ALIAS 2019-01-14 11:46:13 +00:00
max77620-regulator.c regulator: max77620-regulator: constify regulator_ops structure 2017-01-31 20:52:52 +00:00
max77650-regulator.c regulator: max77650: Fix include files 2019-01-30 15:20:05 +00:00
max77686-regulator.c regulator: max77686: Let core handle GPIO descriptor 2018-12-11 01:04:08 +00:00
max77693-regulator.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max77802-regulator.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
mc13xxx-regulator-core.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
mc13xxx.h
mc13783-regulator.c regulator: Updates for v4.18 2018-06-08 13:08:57 -07:00
mc13892-regulator.c regulator: Updates for v4.18 2018-06-08 13:08:57 -07:00
mcp16502.c regulator: mcp16502: Include linux/gpio/consumer.h to fix build error 2019-01-28 12:22:28 +00:00
mt6311-regulator.c
mt6311-regulator.h
mt6323-regulator.c
mt6380-regulator.c regulator: mt6380: Add support for MT6380 2017-08-15 12:50:48 +01:00
mt6397-regulator.c
of_regulator.c regulator: Fix trivial language typos 2019-01-08 13:04:47 +00:00
palmas-regulator.c drivers/regulator: fix a missing check of return value 2018-12-19 12:37:52 +00:00
pbias-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
pcap-regulator.c regulator: pcap-regulator: constify regulator_ops structure 2017-01-31 20:57:31 +00:00
pcf50633-regulator.c regulator: pcf50633-regulator: constify regulator_ops structure 2017-01-31 20:58:15 +00:00
pfuze100-regulator.c regulator: pfuze100-regulator: add coin support to PF0100 2018-11-06 17:27:46 +00:00
pv88060-regulator.c regulator: pv88060-regulator: constify regulator_ops structure 2017-01-31 20:58:46 +00:00
pv88060-regulator.h
pv88080-regulator.c regulator: pv88080-regulator: constify regulator_ops structure 2017-01-31 20:59:01 +00:00
pv88080-regulator.h
pv88090-regulator.c regulator: pv88090: Exception handling for out of bounds 2017-08-30 16:12:17 +01:00
pv88090-regulator.h regulator: pv88090: Exception handling for out of bounds 2017-08-30 16:12:17 +01:00
pwm-regulator.c regulator: pwm: No need to make a copy of regulator_ops per instance 2019-01-14 11:46:05 +00:00
qcom_rpm-regulator.c regulator: qcom_rpm-regulator: add NULL check on of_match_device() return value 2017-07-07 13:42:03 +01:00
qcom_smd-regulator.c regulator: qcom-smd: Batch up requests for disabled regulators 2019-01-22 19:15:37 +00:00
qcom_spmi-regulator.c regulator: qcom_spmi: Indent with tabs instead of spaces 2018-07-20 17:40:57 +01:00
qcom-rpmh-regulator.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
rc5t583-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
rk808-regulator.c regulator: rk808: Convert rk805 buck1/2 to use linear range 2019-02-06 15:56:17 +00:00
rn5t618-regulator.c regulator: rn5t618: Do not index regulator_desc arrays by id 2017-10-18 11:23:21 +01:00
rt5033-regulator.c
s2mpa01.c regulator: samsung: Add SPDX license identifiers 2018-08-08 10:52:54 +01:00
s2mps11.c regulator: s2mps11: Hand over GPIO to regulator core 2018-12-11 01:05:00 +00:00
s5m8767.c regulator: s5m8767: Hand over GPIO to regulator core 2018-12-11 01:04:43 +00:00
sc2731-regulator.c regulator: sc2731: Fix defines for SC2731_WR_UNLOCK and SC2731_PWR_WR_PROT_VALUE 2018-01-03 12:10:14 +00:00
sky81452-regulator.c
stm32-vrefbuf.c regulator: stm32-vrefbuf: fix check on ready flag 2018-02-08 15:28:35 +00:00
stpmic1_regulator.c regulator: stpmic1: Add static const qualifier at peroper places 2019-01-23 15:51:46 +00:00
stw481x-vmmc.c regulator: stw481x-vmmc: fix ages old enable error 2016-11-13 09:22:37 +00:00
sy8106a-regulator.c regulator: add support for SY8106A regulator 2018-05-09 18:25:06 +09:00
ti-abb-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
tps6105x-regulator.c
tps6507x-regulator.c regulator: tps6507x: Drop pointless static qualifier for *reg_data variable 2016-10-24 17:49:14 +01:00
tps6524x-regulator.c
tps6586x-regulator.c regulator: tps6586x: Add support for TPS658624 2018-04-20 11:44:34 +01:00
tps51632-regulator.c
tps62360-regulator.c
tps65023-regulator.c regulator: tps65023: Fix inverted core enable logic. 2017-04-18 18:55:05 +01:00
tps65086-regulator.c regulator: tps65086: Fix DT node referencing in of_parse_cb 2017-02-13 18:04:28 +00:00
tps65090-regulator.c regulator: tps65090: Hand over GPIO to regulator core 2018-12-11 01:04:56 +00:00
tps65132-regulator.c regulator: tps65132: fix platform_no_drv_owner.cocci warnings 2017-04-14 17:59:32 +01:00
tps65217-regulator.c regulator: tps65217: Fix NULL pointer dereference on probe 2018-07-30 09:41:04 +01:00
tps65218-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
tps65910-regulator.c regulator: tps65910: fix a missing check of return value 2018-12-21 11:04:59 +00:00
tps65912-regulator.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
tps80031-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
twl6030-regulator.c regulator: twl6030: Use of_device_get_match_data() 2019-01-14 11:50:41 +00:00
twl-regulator.c regulator: twl: Use of_device_get_match_data() 2019-01-22 17:26:16 +00:00
uniphier-regulator.c regulator: uniphier: add regulator driver for UniPhier SoC 2018-07-11 10:30:32 +01:00
userspace-consumer.c
vctrl-regulator.c regulator: vctrl: Fix out of bounds array access for vctrl->vtable 2017-04-14 18:01:03 +01:00
vexpress-regulator.c
virtual.c
wm831x-dcdc.c regulator: wm831x-dcdc: Convert to use regulator_linear_range for wm831x_buckv 2019-01-22 17:26:24 +00:00
wm831x-isink.c
wm831x-ldo.c
wm8350-regulator.c regulator: core: Use ww_mutex for regulators locking 2018-11-19 12:33:17 +00:00
wm8400-regulator.c
wm8994-regulator.c regulator: wm8994: Rely on core to handle GPIO descriptor 2018-12-12 16:47:10 +00:00