linux/drivers/regulator
Linus Torvalds 6a497e9d58 This is the bulk of GPIO changes for the v4.9 series:
Subsystem improvements:
 
 - Do away with the last users of the obsolete Kconfig options
   ARCH_REQUIRE_GPIOLIB and ARCH_WANT_OPTIONAL_GPIOLIB (the latter
   always sounded like an item on a wishlist to Santa Claus to
   me). We can now select GPIOLIB and be done with it, for all
   archs. After some struggle it even work on UM. Not that it has
   GPIO, but if it wants to, it can select the library.
 
 - Continued efforts to make drivers properly either tristate or
   bool.
 
 - Introduce a warning for drivers assigning default triggers to
   their irqchip lines when probed from device tree, so we find and
   fix these ambigous drivers. It is agreed that in the OF config
   path, the device tree defines trigger characteristics.
 
 - The same warning, mutatis mutandis, for ACPI-probed GPIO
   irqchips.
 
 - We introduce the ability to mark certain IRQ lines as "unusable"
   as they can be taken by BIOS/firmware, unrouted in silicon and
   generally nasty if you use them, and such things. This is
   put to good use in the STMPE driver and also in the Cherryview
   pin control driver.
 
 - A new "mockup" virtual GPIO device that can be used for testing.
   The plan is to add unit tests under tools/* for exercising this
   device and verify that the kernel code paths are working as they
   should.
 
 - Make memory-mapped I/O-drivers depend on HAS_IOMEM. This was
   implicit all the time, but when people started building UM
   with allyesconfig or allmodconfig it exploded in their face.
 
 - Move some stray bits of device tree and ACPI HW description
   callbacks down into their respective implementation silo. These
   were causing issues when compiling on !HAS_IOMEM as well, so
   now eventually UM compiles the GPIOLIB library if it wants to.
 
 New drivers:
 
 - New driver for the Aspeed GPIO front-end companion to the
   pin controller merged through the pin control tree.
 
 - New driver for the LP873x PMIC GPIO portions.
 
 - New driver for Technologic Systems' I2C FPGA GPIO such as
   TS4900, TS-7970, TS-7990 and TS-4100.
 
 - New driver for the Broadcom BCM63xx series including BCM6338
   and BCM6345.
 
 - New driver for the Intel WhiskeyCove PMIC GPIO.
 
 - New driver for the Allwinner AXP209 PMIC GPIO portions.
 
 - New driver for Diamond Systems 48 line GPIO-MM, another of
   these port-mapped I/O expansion cards.
 
 - Support the STMicroelectronics STMPE1600 variant in the STMPE
   driver.
 
 Driver improvements:
 
 - The STMPE driver now supports rising/falling edge detection
   properly for IRQs.
 
 - The PCA954x will now fetch and enable its VCC regulator properly.
 
 - Major rework of the PCA953x driver with the goal of eventually
   switching it over to use regmap and thus modernize it even more.
 
 - Switch the IOP driver to use the generic MMIO GPIO library.
 
 - Move the ages old HTC EGPIO (extended GPIO) GPIO expander driver
   over to this subsystem from MFD, achieveing some separation of
   concerns.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJX9OvDAAoJEEEQszewGV1zsPQP/3VLy1fNIpMF0DDyq5tA/GNv
 sinnaPgMtt+qBrM2sbJcTVwV9xtHrs12CC3+2lAhBCIEm4YfHbXvaUMNE+aKJzk4
 ZM7/rb8WMUxjQqzDKStdETsQGo6fxh0qU81OEQNbX9alir20jik9DvTufcs6xCgx
 sqh8KsNGO4Y6tiuKZ6mTZvIjVhMwiTm0NBSDKhdim0DdsOcuxyh6xVOj/0LB2Ei6
 g75X1w++wjh0ryY3bzaeWkQSlXDC6eEKeez7VaEkSUyrxH86buomy0+aP0fqs7vY
 LRZzn/TC97YLT6hslS/OhB7uXrDIY2POSwO/SvusJcveGP7WPGyGr5mDtA4ATRWI
 ios0DBWl629kHfhAMzg3kPJS8LfjCerapvtbdAgqvhH+Vb5IPFx45vypDkR2WtJ7
 bNAySIRMQSHZvJSCvYzjqh8AbWdE4i4k70tFXRMOpWeKIvRVI1cDvLD6cLn3hATM
 IPTytM6i2xqnzcq7mK7EJ18afcR0mv1jHgGAv4M0RMkyJ2IrURvFyZIvUB2MTyuL
 PEBh1ZvTs+MO50eeFwzltY91eagkzgWB0f6sm3l7I7bL2oxE2f/WVcVL9jWbgwpF
 otjFO27u0/6rIulfLUQzDo3gbOq7UaN0VTW4E9CYbOtFtNzCxjFIKTv0IJhTu4TT
 OSur7oFpzAMOGYlpYP8j
 =ABbi
 -----END PGP SIGNATURE-----

Merge tag 'gpio-v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio

Pull GPIO updates from Linus Walleij:
 "This is the bulk of GPIO changes for the v4.9 series:

  Subsystem improvements:

   - do away with the last users of the obsolete Kconfig options
     ARCH_REQUIRE_GPIOLIB and ARCH_WANT_OPTIONAL_GPIOLIB (the latter
     always sounded like an item on a wishlist to Santa Claus to me). We
     can now select GPIOLIB and be done with it, for all archs. After
     some struggle it even work on UM. Not that it has GPIO, but if it
     wants to, it can select the library.

   - continued efforts to make drivers properly either tristate or bool.

   - introduce a warning for drivers assigning default triggers to their
     irqchip lines when probed from device tree, so we find and fix
     these ambigous drivers. It is agreed that in the OF config path,
     the device tree defines trigger characteristics.

   - the same warning, mutatis mutandis, for ACPI-probed GPIO irqchips.

   - we introduce the ability to mark certain IRQ lines as "unusable" as
     they can be taken by BIOS/firmware, unrouted in silicon and
     generally nasty if you use them, and such things. This is put to
     good use in the STMPE driver and also in the Cherryview pin control
     driver.

   - a new "mockup" virtual GPIO device that can be used for testing.
     The plan is to add unit tests under tools/* for exercising this
     device and verify that the kernel code paths are working as they
     should.

   - make memory-mapped I/O-drivers depend on HAS_IOMEM. This was
     implicit all the time, but when people started building UM with
     allyesconfig or allmodconfig it exploded in their face.

   - move some stray bits of device tree and ACPI HW description
     callbacks down into their respective implementation silo. These
     were causing issues when compiling on !HAS_IOMEM as well, so now
     eventually UM compiles the GPIOLIB library if it wants to.

  New drivers:

   - new driver for the Aspeed GPIO front-end companion to the pin
     controller merged through the pin control tree.

   - new driver for the LP873x PMIC GPIO portions.

   - new driver for Technologic Systems' I2C FPGA GPIO such as TS4900,
     TS-7970, TS-7990 and TS-4100.

   - new driver for the Broadcom BCM63xx series including BCM6338 and
     BCM6345.

   - new driver for the Intel WhiskeyCove PMIC GPIO.

   - new driver for the Allwinner AXP209 PMIC GPIO portions.

   - new driver for Diamond Systems 48 line GPIO-MM, another of these
     port-mapped I/O expansion cards.

   - support the STMicroelectronics STMPE1600 variant in the STMPE
     driver.

  Driver improvements:

   - the STMPE driver now supports rising/falling edge detection
     properly for IRQs.

   - the PCA954x will now fetch and enable its VCC regulator properly.

   - major rework of the PCA953x driver with the goal of eventually
     switching it over to use regmap and thus modernize it even more.

   - switch the IOP driver to use the generic MMIO GPIO library.

   - move the ages old HTC EGPIO (extended GPIO) GPIO expander driver
     over to this subsystem from MFD, achieveing some separation of
     concerns"

* tag 'gpio-v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (81 commits)
  gpio: add missing static inline
  gpio: OF: localize some gpiochip init functions
  gpio: acpi: separation of concerns
  gpio: OF: separation of concerns
  gpio: make memory-mapped drivers depend on HAS_IOMEM
  gpio: stmpe: use BIT() macro
  gpio: stmpe: forbid unused lines to be mapped as IRQs
  mfd/gpio: Move HTC GPIO driver to GPIO subsystem
  gpio: MAINTAINERS: Add an entry for GPIO mockup driver
  gpio/mockup: add virtual gpio device
  gpio: Added zynq specific check for special pins on bank zero
  gpio: axp209: Implement get_direction
  gpio: aspeed: remove redundant return value check
  gpio: loongson1: remove redundant return value check
  ARM: omap2: fix missing include
  gpio: tc3589x: fix up complaints on unsigned
  gpio: tc3589x: add .get_direction() and small cleanup
  gpio: f7188x: use gpiochip_get_data instead of container_of
  gpio: tps65218: use devm_gpiochip_add_data() for gpio registration
  gpio: aspeed: fix return value check in aspeed_gpio_probe()
  ...
2016-10-05 11:49:09 -07:00
..
88pm800.c Merge branch 'fix/88pm800' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-88pm800 2015-07-17 12:42:48 +01:00
88pm8607.c regulator: 88pm8607: Constify platform_device_id 2015-05-01 17:44:55 +01:00
aat2870-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
ab3100.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
ab8500-ext.c ARM: ux500: move ab8500_regulator_plat_data into driver 2016-07-12 11:23:50 +02:00
ab8500.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
act8865-regulator.c regulator: act8865: Fix missing of_node_put() in act8865_pdata_from_dt() 2016-07-14 17:22:22 +01:00
act8945a-regulator.c regulator: act8945a: add regulator driver for ACT8945A 2016-02-05 18:18:47 +00:00
ad5398.c regulator: ad5398: Fix return value of ad5398_write_reg 2016-02-20 01:02:34 +09:00
anatop-regulator.c regulator: anatop: allow regulator to be in bypass mode 2016-06-17 11:40:20 +01:00
arizona-ldo1.c regulator: arizona-ldo1: Fix handling of GPIO 0 2015-10-16 15:48:39 +01:00
arizona-micsupp.c == Changes to existing drivers == 2015-04-14 17:29:55 -07:00
as3711-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
as3722-regulator.c regulator: as3722: Constify regulator ops 2016-04-11 15:15:36 +01:00
axp20x-regulator.c regulator: axp20x: Add support for the (external) drivebus regulator 2016-06-06 18:38:30 +01:00
bcm590xx-regulator.c regulator: bcm590xx: Remove unneeded semicolon 2015-09-14 19:48:34 +01:00
core.c Merge remote-tracking branches 'regulator/topic/of', 'regulator/topic/pv88080', 'regulator/topic/rk808', 'regulator/topic/set-voltage' and 'regulator/topic/tps65218' into regulator-next 2016-09-30 09:13:58 -07:00
da903x.c regulator: da9*: constify regulator_ops structures 2015-12-22 23:59:57 +00:00
da9052-regulator.c regulator: da9053/52: Fix incorrectly stated minimum and maximum voltage limits 2016-07-20 17:00:34 +01:00
da9055-regulator.c regulator: da9*: constify regulator_ops structures 2015-12-22 23:59:57 +00:00
da9062-regulator.c regulator: da9*: constify regulator_ops structures 2015-12-22 23:59:57 +00:00
da9063-regulator.c regulator: da9063: Correct module alias prefix to fix module autoloading 2016-05-10 20:00:49 +01:00
da9210-regulator.c regulator: da9210: addition of device tree support 2016-07-15 11:45:26 +01:00
da9210-regulator.h
da9211-regulator.c regulator: da9211: add descriptions for da9212/da9214 2016-06-29 17:24:55 +01:00
da9211-regulator.h regulator: da9211: add descriptions for da9212/da9214 2016-06-29 17:24:55 +01:00
db8500-prcmu.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
dbx500-prcmu.c regulator: dbx500: remove unused functions in dbx500-prcmu.c 2016-09-26 09:40:22 -07:00
dbx500-prcmu.h
devres.c regulator: Remove support for optional supplies in the bulk API 2016-08-16 20:00:44 +01:00
dummy.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
dummy.h
fan53555.c regulator: fan53555: Add support for FAN53555UC13X type 2016-04-20 10:57:26 +01:00
fixed-helper.c
fixed.c regulator: fixed: Remove workaround to handle of_get_named_gpio() return 2016-05-30 16:29:34 +01:00
gpio-regulator.c regulator: gpio: check return value of of_get_named_gpio 2016-03-17 11:44:57 +00:00
helpers.c regulator: helpers: Ensure bypass register field matches ON value 2016-04-22 11:49:03 +01:00
hi655x-regulator.c regulator: hi655x: enable regulator for hi655x PMIC 2016-02-15 19:54:55 +00:00
hi6421-regulator.c regulator: hi6421: mark hi6421_regulator_ldo_get_optimum_mode() static 2016-09-01 20:54:29 +01:00
internal.h regulator: Allow parsing custom properties when using simplified DT parsing 2015-01-08 20:15:45 +00:00
isl6271a-regulator.c regulator: drivers: Drop owner assignment from i2c_driver 2015-07-14 18:53:01 +01:00
isl9305.c Merge remote-tracking branches 'regulator/topic/mt6311', 'regulator/topic/ocp', 'regulator/topic/owner', 'regulator/topic/pfuze100' and 'regulator/topic/pwm' into regulator-next 2015-08-30 14:39:48 +01:00
Kconfig This is the bulk of GPIO changes for the v4.9 series: 2016-10-05 11:49:09 -07:00
lm363x-regulator.c regulator: lm363x: Staticise ldo_cont_enable_time 2015-11-30 11:32:52 +00:00
lp872x.c regulator: lp872x: Add enable GPIO pin support 2016-02-05 18:57:09 +00:00
lp873x-regulator.c regulator: lp873x: Drop _nlr parameter from LP873X_REGULATOR() 2016-06-21 18:43:48 +01:00
lp3971.c regulator: lp3971: Silence uninitialized variable warning 2016-04-14 14:46:05 +01:00
lp3972.c regulator: lp3972: Silence uninitialized variable warning 2016-04-14 14:46:19 +01:00
lp8755.c regulator: lp8755: Convert to devm_request_threaded_irq 2015-06-02 15:35:17 +01:00
lp8788-buck.c regulator: lp8788: constify regulator_ops structures 2015-12-23 00:01:23 +00:00
lp8788-ldo.c regulator: lp8788: constify regulator_ops structures 2015-12-23 00:01:23 +00:00
ltc3589.c regulator: ltc3589: Make IRQ optional 2016-02-12 22:35:00 +00:00
ltc3676.c regulator: Add LTC3676 support 2016-08-16 12:28:00 +01:00
Makefile regulator: Add LTC3676 support 2016-08-16 12:28:00 +01:00
max1586.c regulator: drivers: Drop owner assignment from i2c_driver 2015-07-14 18:53:01 +01:00
max8649.c regulator: max8649: Constify struct regmap_config and regulator_ops 2015-01-05 20:10:13 +00:00
max8660.c regulator: drivers: Drop owner assignment from i2c_driver 2015-07-14 18:53:01 +01:00
max8907-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
max8925-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
max8952.c Merge remote-tracking branches 'regulator/topic/max77686', 'regulator/topic/max77693', 'regulator/topic/max77802', 'regulator/topic/power-off' and 'regulator/topic/rk808' into regulator-next 2014-12-05 11:14:37 +00:00
max8973-regulator.c regulator: max8973: Fix setting ramp delay 2016-05-30 17:00:56 +01:00
max8997-regulator.c regulator: max8997/max77802: Fix misspelled Samsung address 2016-04-05 11:37:49 -07:00
max8998.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
max14577-regulator.c regulator: Change Krzysztof Kozlowski's email to kernel.org 2016-08-17 13:41:14 +01:00
max77620-regulator.c regulator: max77620: check for valid regulator info 2016-06-29 18:50:05 +01:00
max77686-regulator.c regulator: max77686: Configure enable time to properly handle regulator enable 2016-04-29 12:31:39 +01:00
max77693-regulator.c regulator: Change Krzysztof Kozlowski's email to kernel.org 2016-08-17 13:41:14 +01:00
max77802-regulator.c regulator: max8997/max77802: Fix misspelled Samsung address 2016-04-05 11:37:49 -07:00
mc13xxx-regulator-core.c regulator: of: Add regulator desc param to of_get_regulator_init_data() 2014-11-26 18:58:14 +00:00
mc13xxx.h
mc13783-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
mc13892-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
mt6311-regulator.c regulator: mt6311: Use REGCACHE_RBTREE 2015-12-18 12:14:27 +00:00
mt6311-regulator.h regulator: mt6311: Add support for mt6311 regulator 2015-07-24 12:30:49 +01:00
mt6323-regulator.c regulator: mt6323: Constify struct regulator_ops 2016-07-19 18:31:59 +01:00
mt6397-regulator.c regulator: mt6397: Add buck change mode regulator interface for mt6397 2016-05-30 16:29:43 +01:00
of_regulator.c regulator: of: setup initial suspend state 2016-06-22 16:15:34 +01:00
palmas-regulator.c regulator: tps65917/palmas: Simplify multiple dereference of match->of_node 2016-05-06 18:15:18 +01:00
pbias-regulator.c Merge remote-tracking branches 'regulator/fix/anatop', 'regulator/fix/gpio', 'regulator/fix/pbias', 'regulator/fix/tpx65218' and 'regulator/fix/vexpress' into regulator-linus 2015-09-21 14:16:09 -07:00
pcap-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
pcf50633-regulator.c
pfuze100-regulator.c regulator: pfuze100-regulator: Adjust MODULE_DESCRIPTION() 2016-06-06 19:13:48 +01:00
pv88060-regulator.c regulator: pv880x0: Clean up unnecessary header inclusion 2016-05-30 16:29:39 +01:00
pv88060-regulator.h regulator: pv88060: new regulator driver 2015-11-20 18:06:15 +00:00
pv88080-regulator.c regulator: pv88080: Update regulator for PV88080 BB silicon support 2016-09-26 08:59:08 -07:00
pv88080-regulator.h regulator: pv88080: Update regulator for PV88080 BB silicon support 2016-09-26 08:59:08 -07:00
pv88090-regulator.c regulator: pv880x0: Clean up unnecessary header inclusion 2016-05-30 16:29:39 +01:00
pv88090-regulator.h regulator: pv88090: new regulator driver 2015-12-08 18:21:06 +00:00
pwm-regulator.c regulator: core: Add set_voltage_time op 2016-09-16 18:38:22 +01:00
qcom_rpm-regulator.c regulator: qcom: Tidy up probe() 2015-04-08 12:22:55 +01:00
qcom_smd-regulator.c regulator: qcom_smd: Fix voltage ranges for pma8084 ftsmps and pldo 2016-08-05 12:51:51 +01:00
qcom_spmi-regulator.c regulator: qcom_spmi: Add support for get_mode/set_mode on switches 2016-06-26 12:24:07 +01:00
rc5t583-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
rk808-regulator.c regulator: rk808: Delete owner assignment 2016-08-15 13:46:55 +01:00
rn5t618-regulator.c regulator: rn5t618: Add RN5T567 PMIC support 2016-06-29 10:11:29 +01:00
rt5033-regulator.c regulator: rt5033-regulator: Use regulator_nodes/of_match in the descriptor 2014-12-24 12:54:56 +00:00
s2mpa01.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
s2mps11.c regulator: s2mps11: Fix the voltage linear range for s2mps15 2016-07-12 09:24:05 +01:00
s5m8767.c regulator: s5m8767: fix get_register() error handling 2016-02-16 17:08:59 +00:00
sky81452-regulator.c regulator: sky81452: Modify Device Tree structure 2014-12-02 12:22:39 +00:00
stw481x-vmmc.c regulator: stw481x: Remove unused fields from struct stw481x 2015-03-21 01:05:56 +00:00
ti-abb-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
tps6105x-regulator.c regulator: tps6105x: Convert to use regmap helper functions 2015-11-18 13:19:47 +00:00
tps6507x-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
tps6524x-regulator.c regulator: tps6524x: Fix broken use of spi_dev_get() 2016-04-20 17:37:59 +01:00
tps6586x-regulator.c regulator: tps6586x: silence pointer-to-int-cast 2015-07-23 15:58:33 +01:00
tps51632-regulator.c regulator: tps51632: Fix setting ramp delay 2016-05-31 16:38:01 +01:00
tps62360-regulator.c regulator: drivers: Drop owner assignment from i2c_driver 2015-07-14 18:53:01 +01:00
tps65023-regulator.c regulator: tps65023: add device tree support 2015-09-21 10:13:17 -07:00
tps65086-regulator.c regulator: tps65086: Update regulator driver for the TPS65086 PMIC 2015-12-01 19:58:58 +00:00
tps65090-regulator.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
tps65217-regulator.c regulator: tps65217: Enable suspend configuration 2016-06-27 17:56:43 +01:00
tps65218-regulator.c regulator: tps65218: do not disable DCDC3 during poweroff on broken PMICs 2016-08-10 18:21:55 +01:00
tps65910-regulator.c regulator: tps65910: Work around silicon erratum SWCZ010 2016-09-24 19:04:36 +01:00
tps65912-regulator.c regulator: tps65912: Add regulator driver for the TPS65912 PMIC 2016-02-11 16:31:06 +00:00
tps80031-regulator.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
twl-regulator.c regulator: twl: fix use of integer as pointer 2016-06-08 18:18:24 +01:00
userspace-consumer.c
vexpress-regulator.c regulator: vexpress: rename vexpress regulator implementation 2016-02-15 21:01:52 +00:00
virtual.c regulator: drop owner assignment from platform_drivers 2014-10-20 16:21:29 +02:00
wm831x-dcdc.c Merge remote-tracking branch 'regulator/topic/wm831x' into regulator-next 2016-01-12 18:26:12 +00:00
wm831x-isink.c regulator: wm8*: constify regulator_ops structures 2015-12-23 00:00:00 +00:00
wm831x-ldo.c Merge remote-tracking branch 'regulator/topic/wm831x' into regulator-next 2016-01-12 18:26:12 +00:00
wm8350-regulator.c regulator: wm8*: constify regulator_ops structures 2015-12-23 00:00:00 +00:00
wm8400-regulator.c regulator: wm8*: constify regulator_ops structures 2015-12-23 00:00:00 +00:00
wm8994-regulator.c regulator: wm8*: constify regulator_ops structures 2015-12-23 00:00:00 +00:00