linux/drivers/leds
Linus Torvalds 510965dd4a This is the bulk of GPIO changes for the v4.1 development
cycle:
 
 - A new GPIO hogging mechanism has been added. This can
   be used on boards that want to drive some GPIO line high,
   low, or set it as input on boot and then never touch it
   again. For some embedded systems this is bliss and
   simplifies things to a great extent.
 
 - Some API cleanup and closure: gpiod_get_array() and
   gpiod_put_array() has been added to get and put GPIOs
   in bulk as was possible with the non-descriptor API.
 
 - Encapsulate cross-calls to the pin control subsystem in
   <linux/gpio/driver.h>. Now this should be the only header
   any GPIO driver needs to include or something is wrong.
   Cleanups restricting drivers to this include are welcomed
   if tested.
 
 - Sort the GPIO Kconfig and split it into submenus, as
   it was becoming and unstructured, illogical and
   unnavigatable mess. I hope this is easier to follow.
   Menus that require a certain subsystem like I2C can
   now be hidden nicely for example, still working on
   others.
 
 - New drivers:
 
     - New driver for the Altera Soft GPIO.
 
     - The F7188x driver now handles the F71869 and
       F71869A variants.
 
     - The MIPS Loongson driver has been moved to
       drivers/gpio for consolidation and cleanup.
 
 - Cleanups:
 
    - The MAX732x is converted to use the GPIOLIB_IRQCHIP
      infrastructure.
 
    - The PCF857x is converted to use the GPIOLIB_IRQCHIP
      infrastructure.
 
    - Radical cleanup of the OMAP driver.
 
 - Misc:
 
    - Enable the DWAPB GPIO for all architectures. This is
      a "hard IP" block from Synopsys which has started to
      turn up in so diverse architectures as X86 Quark, ARC
      and a slew of ARM systems. So even though it's not an
      expander, it's generic enough to be available for all.
 
    - We add a mock GPIO on Crystalcove PMIC after a long
      discussion with Daniel Vetter et al, tracing back to
      the shootout at the kernel summit where DRM drivers
      and sub-componentization was discussed. In this case
      a mock GPIO is assumed to be the best compromise
      gaining some reuse of infrastructure without making
      DRM drivers overly complex at the same time. Let's
      see.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVMNYHAAoJEEEQszewGV1zSmwP/2oCk4CB4fexrqM+irUJrDnT
 3D/8tuaq7EghMnwPXCfHa8R8eWF6XEDvHPcJNVgXiWbtCGRMpdsiobFunzwLQv5A
 CbcuAOzWmzA0ePbfa0+xpLpWM/RJP9u1an/RboIzeeS7oQ1Yj/VjF8uS8Se+Pe3r
 nPKvTpoU5lGpIUTEEYjiJhL8pBmp8k75a6NGM4U8VwXI9BsdhDkpRGsfG3NK8hs2
 vSvWDB19NCW6iOd3gN4KA4f0Zz57WONMS7jY2WaipqYRlr37o4i2CA0ME1xoXEfg
 3JT1lmg7esNCvnjQOaGTaM6nf66j7/nleNtnMmAAJcJeMNoh9yS6397TGaYFThsn
 C1WmAoaonor3RAujrL3oRenxfq2+Vl63OvsClDiWz7LL9YYJ/G2nS3MggFHpZUhu
 /CHXSt08j0Kewfc5SkvFCTnrPG7aWy/YDou6PfuXIvkFp5h1FXDkHTXvOD33turD
 ohEPlg/9i2uCnVQfN+GV4h69WSyEiOpxG5W7ryE+nIo6XzWIctHLIH2V6aE7YrwG
 FBg7hC1QV1cI776HFOuM4rPwG1N80IQeC3vr5z/jEtZVPXrIaGvupxFC+O1DAx4W
 rzBD8lX45B96WmIW2odg11KXXyPO1srW4ZFWghm95HTfvnQc3O6LmV9riv1k7DYA
 gR+aRYNiLO01UmoTPYbK
 =QFbC
 -----END PGP SIGNATURE-----

Merge tag 'gpio-v4.1-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.1 development cycle:

   - A new GPIO hogging mechanism has been added.  This can be used on
     boards that want to drive some GPIO line high, low, or set it as
     input on boot and then never touch it again.  For some embedded
     systems this is bliss and simplifies things to a great extent.

   - Some API cleanup and closure: gpiod_get_array() and
     gpiod_put_array() has been added to get and put GPIOs in bulk as
     was possible with the non-descriptor API.

   - Encapsulate cross-calls to the pin control subsystem in
     <linux/gpio/driver.h>.  Now this should be the only header any GPIO
     driver needs to include or something is wrong.  Cleanups
     restricting drivers to this include are welcomed if tested.

   - Sort the GPIO Kconfig and split it into submenus, as it was
     becoming and unstructured, illogical and unnavigatable mess.  I
     hope this is easier to follow.  Menus that require a certain
     subsystem like I2C can now be hidden nicely for example, still
     working on others.

   - New drivers:

       - New driver for the Altera Soft GPIO.

       - The F7188x driver now handles the F71869 and F71869A variants.

       - The MIPS Loongson driver has been moved to drivers/gpio for
         consolidation and cleanup.

   - Cleanups:

       - The MAX732x is converted to use the GPIOLIB_IRQCHIP
         infrastructure.

       - The PCF857x is converted to use the GPIOLIB_IRQCHIP
         infrastructure.

       - Radical cleanup of the OMAP driver.

   - Misc:

       - Enable the DWAPB GPIO for all architectures.  This is a "hard
         IP" block from Synopsys which has started to turn up in so
         diverse architectures as X86 Quark, ARC and a slew of ARM
         systems.  So even though it's not an expander, it's generic
         enough to be available for all.

       - We add a mock GPIO on Crystalcove PMIC after a long discussion
         with Daniel Vetter et al, tracing back to the shootout at the
         kernel summit where DRM drivers and sub-componentization was
         discussed.  In this case a mock GPIO is assumed to be the best
         compromise gaining some reuse of infrastructure without making
         DRM drivers overly complex at the same time.  Let's see"

* tag 'gpio-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (62 commits)
  Revert "gpio: sch: use uapi/linux/pci_ids.h directly"
  gpio: dwapb: remove dependencies
  gpio: dwapb: enable for ARC
  gpio: removing kfree remove functionality
  gpio: mvebu: Fix mask/unmask managment per irq chip type
  gpio: split GPIO drivers in submenus
  gpio: move MFD GPIO drivers under their own comment
  gpio: move BCM Kona Kconfig option
  gpio: arrange SPI Kconfig symbols alphabetically
  gpio: arrange PCI GPIO controllers alphabetically
  gpio: arrange I2C Kconfig symbols alphabetically
  gpio: arrange Kconfig symbols alphabetically
  gpio: ich: Implement get_direction function
  gpio: use (!foo) instead of (foo == NULL)
  gpio: arizona: drop owner assignment from platform_drivers
  gpio: max7300: remove 'ret' variable
  gpio: use devm_kzalloc
  gpio: sch: use uapi/linux/pci_ids.h directly
  gpio: x-gene: fix devm_ioremap_resource() check
  gpio: loongson: Add Loongson-3A/3B GPIO driver support
  ...
2015-04-18 08:22:10 -04:00
..
trigger leds: Add support for setting brightness in a synchronous way 2014-11-14 14:29:35 -08:00
Kconfig leds: add Qualcomm PM8941 WLED driver 2015-03-30 11:55:49 -07:00
Makefile leds: add Qualcomm PM8941 WLED driver 2015-03-30 11:55:49 -07:00
dell-led.c dell-led: add mic mute led interface 2014-05-08 14:28:07 +08:00
led-class-flash.c leds: flash: Remove synchronized flash strobe feature 2015-03-09 17:16:23 -07:00
led-class.c leds: Don't treat the LED name as a format string 2015-03-30 14:26:32 -07:00
led-core.c leds: Add support for setting brightness in a synchronous way 2014-11-14 14:29:35 -08:00
led-triggers.c leds: implement sysfs interface locking mechanism 2014-11-14 14:29:35 -08:00
leds-88pm860x.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-adp5520.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-asic3.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-bd2802.c leds: Remove duplicated OOM message for individual driver 2014-05-08 14:28:08 +08:00
leds-blinkm.c leds: blinkm: remove unnecessary spaces 2014-02-27 10:19:57 -08:00
leds-clevo-mail.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-cobalt-qube.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-cobalt-raq.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-da903x.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-da9052.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-dac124s085.c leds: dac124s085: Remove redundant spi_set_drvdata 2013-10-22 10:57:34 -07:00
leds-fsg.c drivers/leds: delete non-required instances of include <linux/init.h> 2014-02-27 09:56:56 -08:00
leds-gpio-register.c led: gpio: Fix possible ZERO_SIZE_PTR pointer dereferencing error. 2014-09-29 10:21:01 -07:00
leds-gpio.c gpio: add parameter to allow the use named gpios 2015-03-04 13:58:58 +01:00
leds-hp6xx.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-ipaq-micro.c leds: ipaq-micro: fix sparse non static symbol warning 2014-07-29 10:57:20 -07:00
leds-lm355x.c leds: lm355x: fix attribute-creation race 2014-06-25 15:10:54 -07:00
leds-lm3530.c leds: lm3550: fix attribute-creation race 2014-06-25 15:00:55 -07:00
leds-lm3533.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-lm3642.c leds: lm3642: fix attribute-creation race 2014-06-25 15:13:08 -07:00
leds-locomo.c drivers/leds: Add module.h to files using it implicitly 2011-10-31 19:31:49 -04:00
leds-lp55xx-common.c leds: lp55xx-common: fix attribute-creation race 2014-06-27 13:44:05 -07:00
leds-lp55xx-common.h leds: lp55xx: add common macros for device attributes 2013-08-26 17:22:12 -07:00
leds-lp3944.c leds: lp3944: fix sparse warning 2014-09-11 16:55:27 -07:00
leds-lp5521.c drivers/leds: delete non-required instances of include <linux/init.h> 2014-02-27 09:56:56 -08:00
leds-lp5523.c leds: lp55xx: add DT bindings for LP55231 2014-05-08 14:28:08 +08:00
leds-lp5562.c leds: lp5562: remove unnecessary parentheses 2014-02-27 10:17:15 -08:00
leds-lp8501.c leds: lp8501: Fix typo in MODULE_DESCRIPTION in leds-lp8501.c 2015-03-30 11:55:51 -07:00
leds-lp8788.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-lp8860.c leds: lp8860: Fix typo in MODULE_DESCRIPTION in leds-lp8860.c 2015-03-30 11:55:51 -07:00
leds-lt3593.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-max8997.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-mc13783.c leds: leds-mc13783: Use of_get_child_by_name() instead of refcount hack 2015-01-14 10:40:20 -08:00
leds-menf21bmc.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-net48xx.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-netxbig.c leds: netxbig: fix oops at probe time 2015-01-13 13:49:01 -08:00
leds-ns2.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-ot200.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-pca955x.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-pca963x.c leds: pca963x: Add missing initialiation of struct led_info.flags 2015-03-30 11:55:48 -07:00
leds-pca9532.c driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
leds-pm8941-wled.c leds: add Qualcomm PM8941 WLED driver 2015-03-30 11:55:49 -07:00
leds-pwm.c leds: leds-pwm: drop one pwm_get_period() call 2015-02-24 11:42:18 -08:00
leds-rb532.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-regulator.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2014-12-15 18:28:25 -08:00
leds-s3c24xx.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-ss4200.c leds: ss4200: fix attribute-creation race 2014-06-25 15:34:24 -07:00
leds-sunfire.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-syscon.c leds: syscon: handle multiple syscon instances 2014-11-14 14:29:35 -08:00
leds-tca6507.c driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
leds-versatile.c ARM/leds: move ARM Versatile LED driver to leds subsystem 2014-03-28 10:54:15 +01:00
leds-wm831x-status.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-wm8350.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-wrap.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds.h leds: Don't allow brightness values greater than max_brightness 2015-01-14 10:40:19 -08:00