linux_dsm_epyc7002/include/linux/mfd
Linus Torvalds 80fb974798 This is the bulk of GPIO changes for the v3.16 series:
- We are finalizing and fixing up the gpiochip irqchip helpers
   bringing a helpful irqchip implementation into the gpiolib
   core and avoiding duplicate code and, more importantly,
   duplicate bug fixes:
 
   - Support for using the helpers with threaded interrupt
     handlers as used on sleeping GPIO-irqchips
 
   - Do not set up hardware triggers for edges or levels if
     the default IRQ type is IRQ_TYPE_NONE - some drivers
     would exploit the fact that you could get default
     initialization of the IRQ type from the core at probe()
     but if no default type is set up from the helper, we
     should not call the driver to configure anything. Wait
     until a consumer requests the interrupt instead.
 
   - Make the irqchip helpers put the GPIO irqs into their
     own lock class. The GPIO irqchips can often emit
     (harmless, but annoying) lockdep warnings about recursions
     when they are in fact just cascaded IRQs. By putting
     them into their own lock class we help the lockdep core
     to keep track of things.
 
   - Switch the tc3589x GPIO expanders to use the irqchip
     helpers
 
   - Switch the OMAP GPIO driver to use the irqchip helpers
 
   - Add some documentation for the irqchip helpers
 
   - select IRQ_DOMAIN when using the helpers since some
     platforms may not be using this by default and it's a
     strict dependency.
 
 - Continued GPIO descriptor refactoring:
 
   - Remove the one instance of gpio_to_desc() from the
     device tree code, making the OF GPIO code use GPIO
     descriptors only.
 
   - Introduce gpiod_get_optional() and
     gpiod_get_optional_index() akin to the similar
     regulator functions for cases where the use of GPIO
     is optional and not strictly required.
 
   - Make of_get_named_gpiod_flags() private - we do not
     want to unnecessarily expose APIs to drivers that
     make the gpiolib harder than necessary to maintain
     and refactor. Privatize this function.
 
 - Support "-gpio" suffix for the OF GPIO retrieveal path.
   We used to look for "foo-gpios" or just "gpios" in device
   tree nodes, but it turns out that some drivers with a
   single GPIO line will just state "foo-gpio" (singularis).
   Sigh. Support this with a fallback looking for it, as
   this simplifies driver code and handles it in core code.
 
 - Switch the ACPI GPIO core to fetch GPIOs with the
   *_cansleep function variants as the GPIO operation
   region handler can sleep, and shall be able to handle
   gpiochips that sleep.
 
 - Tons of cleanups and janitorial work from Jingoo Han,
   Axel Lin, Javier Martinez Canillas and Abdoulaye Berthe.
   Notably Jingoo cut off a ton of pointless OOM messages.
 
 - Incremental development and fixes for various drivers,
   nothing really special here.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJTjDSbAAoJEEEQszewGV1zcwcQAI/fwAw2B8kelDMaB1ggQeAU
 cyXrr9vVXYMztOoYkYcbZq0stuvZT+CDCVJPqPqntYYssAJf/2m3xWEhz4XFcGui
 THTNIaFLc9f7JvTFfWS0VzwPzqPp/XkUiAyDzYMK0Wso6AP853IB4LlHDMvC9jpM
 brMo+zdhnASayhumAL8kp0XVal7d/3IAy/v7Q6ebpqoP5AnhC8NT8ysh2raGdVLa
 4+W9hMtflq8u+gllxul71Mf1L3CD0x3UybMbsx4k0Z+60uYjiIhhbHdGxRVH3YAU
 DZ40RW6ARU1mXuUlSjBIbgN1fzxCKNQFR7MsDruiSR0ohHEa8dc3o1AktdRKGoQl
 +sUMSQI3G4tlLOhVYIOx+kOF4DJWNNFYNdvT/ut0NwKohma2nZt9LDyqp92XZKt9
 gVufvJzFe94re/bAMAz41PRm3wnzmuUSAq649r0RIQ4Yp74f5n5EO9WnnI/CIVlw
 pAFsLJZZhh47I6IxMmIPBjiy8QWVdvRwsBIrV0pDoZGQjjm2S1MHi+5pLghHRROq
 qtrRG1SIAptoaEDWM0WdVPT4Jcx+3QzU9YjlCiXxd8qQl4lRHAJRCYbxGYsK0a8b
 eXQ5N4CHy2jOUTKhmT2ISLmC6EWurabSh9eWwmk2R2gBmwG6AKoI60MKFtcx53tz
 3fQN3Oy8zaNyIL6/2aoN
 =M59o
 -----END PGP SIGNATURE-----

Merge tag 'gpio-v3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio into next

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

  There is a lot of action in the GPIO subsystem doing refactorings and
  cleanups, almost as many deletions as insertions and minor feature
  growth and no new drivers this time.  Which is actually pretty nice.
  Some GPIO-related stuff will come in through the pin control tree as
  well.

  Details:

   - We are finalizing and fixing up the gpiochip irqchip helpers
     bringing a helpful irqchip implementation into the gpiolib core and
     avoiding duplicate code and, more importantly, duplicate bug fixes:

     * Support for using the helpers with threaded interrupt handlers as
       used on sleeping GPIO-irqchips

     * Do not set up hardware triggers for edges or levels if the
       default IRQ type is IRQ_TYPE_NONE - some drivers would exploit
       the fact that you could get default initialization of the IRQ
       type from the core at probe() but if no default type is set up
       from the helper, we should not call the driver to configure
       anything.  Wait until a consumer requests the interrupt instead.

     * Make the irqchip helpers put the GPIO irqs into their own lock
       class.  The GPIO irqchips can often emit (harmless, but annoying)
       lockdep warnings about recursions when they are in fact just
       cascaded IRQs.  By putting them into their own lock class we help
       the lockdep core to keep track of things.

     * Switch the tc3589x GPIO expanders to use the irqchip helpers

     * Switch the OMAP GPIO driver to use the irqchip helpers

     * Add some documentation for the irqchip helpers

     * select IRQ_DOMAIN when using the helpers since some platforms may
       not be using this by default and it's a strict dependency.

   - Continued GPIO descriptor refactoring:

     * Remove the one instance of gpio_to_desc() from the device tree
       code, making the OF GPIO code use GPIO descriptors only.

     * Introduce gpiod_get_optional() and gpiod_get_optional_index()
       akin to the similar regulator functions for cases where the use
       of GPIO is optional and not strictly required.

     * Make of_get_named_gpiod_flags() private - we do not want to
       unnecessarily expose APIs to drivers that make the gpiolib harder
       than necessary to maintain and refactor.  Privatize this
       function.

   - Support "-gpio" suffix for the OF GPIO retrieveal path.  We used to
     look for "foo-gpios" or just "gpios" in device tree nodes, but it
     turns out that some drivers with a single GPIO line will just state
     "foo-gpio" (singularis).  Sigh.  Support this with a fallback
     looking for it, as this simplifies driver code and handles it in
     core code.

   - Switch the ACPI GPIO core to fetch GPIOs with the *_cansleep
     function variants as the GPIO operation region handler can sleep,
     and shall be able to handle gpiochips that sleep.

   - Tons of cleanups and janitorial work from Jingoo Han, Axel Lin,
     Javier Martinez Canillas and Abdoulaye Berthe.  Notably Jingoo cut
     off a ton of pointless OOM messages.

   - Incremental development and fixes for various drivers, nothing
     really special here"

* tag 'gpio-v3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (85 commits)
  gpio: select IRQ_DOMAIN for gpiolib irqchip helpers
  gpio: pca953x: use gpiolib irqchip helpers
  gpio: pcf857x: Add IRQF_SHARED when request irq
  gpio: pcf857x: Avoid calling irq_domain_cleanup twice
  gpio: mcp23s08: switch chip count to int
  gpio: dwapb: use a second irq chip
  gpio: ep93xx: Use devm_ioremap_resource()
  gpio: mcp23s08: fixed count variable for devicetree probing
  gpio: Add run-time dependencies to R-Car driver
  gpio: pch: add slab include
  Documentation / ACPI: Fix location of GPIO documentation
  gpio / ACPI: use *_cansleep version of gpiod_get/set APIs
  gpio: generic: add request function pointer
  gpio-pch: Fix Kconfig dependencies
  gpio: make of_get_named_gpiod_flags() private
  gpio: gpioep93xx: use devm functions
  gpio: janzttl: use devm function
  gpio: timberdale: use devm functions
  gpio: bt8xx: use devm function for memory allocation
  gpio: include linux/bug.h in interface header
  ...
2014-06-02 08:46:03 -07:00
..
abx500 mfd: dbx500/abx500: root out hardcoded IRQ assignments 2014-03-04 08:58:11 +08:00
arizona == Changes to existing drivers == 2014-04-07 10:24:18 -07:00
da9052 mfd: da9052: Extend support to a new chip 2014-03-19 08:58:26 +00:00
da9055
da9063 mfd: da9063: Upgrade of register definitions to support production silicon 2014-03-19 08:58:41 +00:00
pcf50633
pm8xxx == Changes to existing drivers == 2014-04-07 10:24:18 -07:00
samsung Merge remote-tracking branches 'regulator/topic/s5m8767', 'regulator/topic/st-pwm', 'regulator/topic/ti-abb', 'regulator/topic/tps51632', 'regulator/topic/tps62360', 'regulator/topic/tps6507x', 'regulator/topic/tps65090' and 'regulator/topic/tps65217' into regulator-next 2014-03-26 16:58:18 +00:00
syscon ARM: imx6q: Add GPR6 and GPR7 register definitions for iomuxc gpr 2014-03-05 10:40:47 +08:00
wm831x
wm8350
wm8994 mfd: wm8994: Remove unused irq_lock 2013-10-23 16:20:41 +01:00
88pm80x.h mfd: 88pm800: Add regulator sub device 2013-06-18 09:41:12 +02:00
88pm860x.h
aat2870.h
ab3100.h
abx500.h
adp5520.h
as3711.h
as3722.h regulator: Updates for v3.14 2014-01-25 13:19:10 -08:00
asic3.h
bcm590xx.h mfd: Add bcm590xx pmu driver 2014-03-19 08:59:59 +00:00
core.h For the 3.13 merge window we have a couple of new drivers for the AMS 2013-11-15 16:37:40 -08:00
cros_ec_commands.h
cros_ec.h
da903x.h
davinci_voicecodec.h mfd: davinci_voicecodec: Provide a regmap for register I/O 2013-09-02 10:27:49 +02:00
db8500-prcmu.h
dbx500-prcmu.h mfd: dbx500/abx500: root out hardcoded IRQ assignments 2014-03-04 08:58:11 +08:00
ds1wm.h
ezx-pcap.h
htc-egpio.h
htc-pasic3.h
intel_msic.h
janz.h
kempld.h mfd: Kontron PLD mfd driver 2013-06-24 13:48:22 +02:00
lm3533.h
lp3943.h mfd: Add LP3943 MFD driver 2014-01-21 08:27:59 +00:00
lp8788-isink.h
lp8788.h
lpc_ich.h mfd: lpc_ich: Add support for iTCO v3 2014-03-19 09:00:02 +00:00
max8907.h
max8925.h
max8997-private.h mfd: max8997: Naturalise cross-architecture discrepancies 2014-02-19 13:30:23 +00:00
max8997.h
max8998-private.h mfd: max8998: Naturalise cross-architecture discrepancies 2014-02-19 13:30:25 +00:00
max8998.h mfd: max8998: Add support for Device Tree 2013-06-30 23:30:04 +02:00
max14577-private.h mfd: max14577: Remove unused enum max14577_irq_source 2014-03-19 08:58:02 +00:00
max14577.h mfd: max14577: Remove not needed header inclusion 2014-03-19 08:58:03 +00:00
max77686-private.h mfd: Represent correct filenames in file headers 2014-01-21 08:28:12 +00:00
max77686.h
max77693-private.h mfd: max77693: Remove device wakeup from driver 2013-10-23 16:21:26 +01:00
max77693.h mfd: max77693: Remove device wakeup from driver 2013-10-23 16:21:26 +01:00
mc13xxx.h leds: leds-mc13783: Add MC34708 LED support 2014-02-27 09:56:55 -08:00
mc13783.h
mc13892.h
mcp.h mfd: mcp: Add missing linux/device.h header 2013-07-31 02:04:47 +02:00
menelaus.h
palmas.h For the 3.12 merge window we have one new driver for the DA9063 PMIC 2013-09-07 20:14:19 -07:00
rc5t583.h
rdc321x.h
retu.h
rtsx_common.h mmc: rtsx: Revert "mmc: rtsx: add support for pre_req and post_req" 2014-05-08 08:44:50 +01:00
rtsx_pci.h mmc: rtsx: Revert "mmc: rtsx: add support for pre_req and post_req" 2014-05-08 08:44:50 +01:00
rtsx_usb.h mfd: Add realtek USB card reader driver 2014-03-19 08:58:18 +00:00
si476x-core.h treewide: Fix common typo in "identify" 2013-10-14 15:31:06 +02:00
si476x-platform.h
si476x-reports.h
smsc.h
sta2x11-mfd.h
stmpe.h
stw481x.h mfd: Add STw481x driver 2013-10-23 16:21:12 +01:00
syscon.h mfd: syscon: Return -ENOSYS if CONFIG_MFD_SYSCON is not enabled 2013-10-23 16:22:35 +01:00
t7l66xb.h
tc3589x.h gpio: tc3589x: get rid of static IRQ base 2014-04-28 12:35:07 -07:00
tc6387xb.h
tc6393xb.h
ti_am335x_tscadc.h mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization 2014-01-07 08:45:00 +00:00
ti_ssp.h
tmio.h mmc: tmio: add new TMIO_MMC_HAVE_HIGH_REG flags 2014-01-13 12:48:24 -05:00
tps6105x.h
tps6507x.h Input: tps6507x-ts - convert to polled input device infrastructure 2013-07-01 11:38:41 -07:00
tps6586x.h mfd: tps6586x: Add version detection 2014-01-21 08:28:01 +00:00
tps65090.h For 3.10 we have a few new MFD drivers for: 2013-05-05 17:36:20 -07:00
tps65217.h mfd: tps65217: Naturalise cross-architecture discrepancies 2014-02-19 13:30:30 +00:00
tps65218.h mfd: tps65218: Add driver for the TPS65218 PMIC 2014-03-19 08:58:06 +00:00
tps65910.h regulator: tps65910: Simplify setting enable_mask for regulators 2013-12-30 11:48:43 +00:00
tps65912.h
tps80031.h
twl4030-audio.h
twl6040.h Merge branch 'topic/for-asoc' 2013-09-02 10:31:08 +02:00
ucb1x00.h mfd: ucb1x00: Explicitely include linux/device.h 2013-07-31 02:04:52 +02:00
viperboard.h
wl1273-core.h
wm8400-audio.h
wm8400-private.h
wm8400.h