projects/linux·commit 1a46712a

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

1a46712a · Linus Torvalds <[email protected]> · 2016-03-17 21:05:32 -07:00

Pull GPIO updates from Linus Walleij:
 "This is the bulk of GPIO changes for kernel v4.6.  There is quite a
  lot of interesting stuff going on.

  The patches to other subsystems and arch-wide are ACKed as far as
  possible, though I consider things like per-arch <asm/gpio.h> as
  essentially a part of the GPIO subsystem so it should not be needed.

  Core changes:

   - The gpio_chip is now a *real device*.  Until now the gpio chips
     were just piggybacking the parent device or (gasp) floating in
     space outside of the device model.

     We now finally make GPIO chips devices.  The gpio_chip will create
     a gpio_device which contains a struct device, and this gpio_device
     struct is kept private.  Anything that needs to be kept private
     from the rest of the kernel will gradually be moved over to the
     gpio_device.

   - As a result of making the gpio_device a real device, we have added
     resource management, so devm_gpiochip_add_data() will cut down on
     overhead and reduce code lines.  A huge slew of patches convert
     almost all drivers in the subsystem to use this.

   - Building on making the GPIO a real device, we add the first step of
     a new userspace ABI: the GPIO character device.  We take small
     steps here, so we first add a pure *information* ABI and the tool
     "lsgpio" that will list all GPIO devices on the system and all
     lines on these devices.

     We can now discover GPIOs properly from userspace.  We still have
     not come up with a way to actually *use* GPIOs from userspace.

   - To encourage people to use the character device for the future, we
     have it always-enabled when using GPIO.  The old sysfs ABI is still
     opt-in (and can be used in parallel), but is marked as deprecated.

     We will keep it around for the foreseeable future, but it will not
     be extended to cover ever more use cases.

  Cleanup:

   - Bjorn Helgaas removed a whole slew of per-architecture <asm/gpio.h>
     includes.

     This dates back to when GPIO was an opt-in feature and no shared
     library even existed: just a header file with proper prototypes was
     provided and all semantics were up to the arch to implement.  These
     patches make the GPIO chip even more a proper device and cleans out
     leftovers of the old in-kernel API here and there.

     Still some cruft is left but it's very little now.

   - There is still some clamping of return values for .get() going on,
     but we now return sane values in the vast majority of drivers and
     the errorpath is sanitized.  Some patches for powerpc, blackfin and
     unicore still drop in.

   - We continue to switch the ARM, MIPS, blackfin, m68k local GPIO
     implementations to use gpiochip_add_data() and cut down on code
     lines.

   - MPC8xxx is converted to use the generic GPIO helpers.

   - ATH79 is converted to use the generic GPIO helpers.

  New drivers:

   - WinSystems WS16C48

   - Acces 104-DIO-48E

   - F81866 (a F7188x variant)

   - Qoric (a MPC8xxx variant)

   - TS-4800

   - SPI serializers (pisosr): simple 74xx shift registers connected to
     SPI to obtain a dirt-cheap output-only GPIO expander.

   - Texas Instruments TPIC2810

   - Texas Instruments TPS65218

   - Texas Instruments TPS65912

   - X-Gene (ARM64) standby GPIO controller"

* tag 'gpio-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (194 commits)
  Revert "Share upstreaming patches"
  gpio: mcp23s08: Fix clearing of interrupt.
  gpiolib: Fix comment referring to gpio_*() in gpiod_*()
  gpio: pca953x: Fix pca953x_gpio_set_multiple() on 64-bit
  gpio: xgene: Fix kconfig for standby GIPO contoller
  gpio: Add generic serializer DT binding
  gpio: uapi: use 0xB4 as ioctl() major
  gpio: tps65912: fix bad merge
  Revert "gpio: lp3943: Drop pin_used and lp3943_gpio_request/lp3943_gpio_free"
  gpio: omap: drop dev field from gpio_bank structure
  gpio: mpc8xxx: Slightly update the code for better readability
  gpio: mpc8xxx: Remove *read_reg and *write_reg from struct mpc8xxx_gpio_chip
  gpio: mpc8xxx: Fixup setting gpio direction output
  gpio: mcp23s08: Add support for mcp23s18
  dt-bindings: gpio: altera: Fix altr,interrupt-type property
  gpio: add driver for MEN 16Z127 GPIO controller
  gpio: lp3943: Drop pin_used and lp3943_gpio_request/lp3943_gpio_free
  gpio: timberdale: Switch to devm_ioremap_resource()
  gpio: ts4800: Add IMX51 dependency
  gpiolib: rewrite gpiodev_add_to_list
  ...
Commit
1a46712aa99594eabe1e9aeedf115dfff0db1dfd
Parents
82b666ee · ccbd805a

Merge commit. Changes below are compared with the first parent: 82b666ee.

Changes

169 files changed · +4405 −2663

FileStatusAddDelContent
Documentation/ABI/testing/sysfs-gpio → Documentation/ABI/obsolete/sysfs-gpiorenamed+3−1View file
Documentation/ABI/testing/gpio-cdevadded+26−0View file
Documentation/devicetree/bindings/gpio/gpio-altera.txtmodified+2−2View file
Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txtmodified+1−3View file
Documentation/devicetree/bindings/gpio/gpio-pisosr.txtadded+34−0View file
Documentation/devicetree/bindings/gpio/gpio-ts4800.txtadded+20−0View file
Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txtmodified+40−7View file
Documentation/devicetree/bindings/mfd/tps65912.txtadded+50−0View file
Documentation/driver-model/devres.txtmodified+5−0View file
Documentation/gpio/board.txtmodified+5−6View file
Documentation/ioctl/ioctl-number.txtmodified+1−0View file
MAINTAINERSmodified+16−0View file
arch/alpha/include/asm/gpio.hdeleted+0−4View before deletion
arch/arm/common/scoop.cmodified+5−5View file
arch/arm/mach-gemini/gpio.cmodified+2−2View file
arch/arm/mach-imx/mach-mx27ads.cmodified+3−1View file
arch/arm/mach-ixp4xx/common.cmodified+2−2View file
arch/arm/mach-s3c24xx/mach-h1940.cmodified+1−1View file
arch/arm/mach-sa1100/simpad.cmodified+2−2View file
arch/arm/mach-w90x900/gpio.cmodified+6−7View file
arch/arm/plat-orion/gpio.cmodified+9−15View file
arch/avr32/boards/merisc/setup.cmodified+0−1View file
arch/avr32/mach-at32ap/pio.cmodified+1−1View file
arch/blackfin/kernel/bfin_gpio.cmodified+4−2View file
arch/blackfin/kernel/debug-mmrs.cmodified+1−1View file
arch/blackfin/mach-bf538/boards/ezkit.cmodified+1−1View file
arch/blackfin/mach-bf538/ext-gpio.cmodified+4−4View file
arch/blackfin/mach-bf548/boards/cm_bf548.cmodified+1−1View file
arch/blackfin/mach-bf548/boards/ezkit.cmodified+1−1View file
arch/blackfin/mach-bf609/boards/ezkit.cmodified+1−1View file
arch/blackfin/mach-common/ints-priority.cmodified+1−1View file
arch/blackfin/mach-common/pm.cmodified+1−1View file
arch/ia64/include/asm/gpio.hdeleted+0−4View before deletion
arch/m68k/coldfire/gpio.cmodified+1−1View file
arch/metag/include/asm/gpio.hdeleted+0−4View before deletion
arch/microblaze/include/asm/gpio.hdeleted+0−4View before deletion
arch/mips/alchemy/common/gpiolib.cmodified+4−4View file
arch/mips/ar7/gpio.cmodified+9−17View file
arch/mips/bcm63xx/gpio.cmodified+2−2View file
arch/mips/jz4740/gpio.cmodified+6−4View file
arch/mips/kernel/gpio_txx9.cmodified+2−2View file
arch/mips/rb532/gpio.cmodified+6−6View file
arch/mips/txx9/generic/setup.cmodified+4−6View file
arch/mips/txx9/rbtx4938/setup.cmodified+2−1View file
arch/openrisc/include/asm/gpio.hdeleted+0−4View before deletion
arch/powerpc/include/asm/gpio.hdeleted+0−4View before deletion
arch/powerpc/sysdev/ppc4xx_gpio.cmodified+1−1View file
arch/powerpc/sysdev/simple_gpio.cmodified+1−1View file
arch/sh/include/mach-common/mach/magicpanelr2.hmodified+1−1View file
arch/sparc/include/asm/gpio.hdeleted+0−4View before deletion
arch/unicore32/kernel/gpio.cmodified+1−1View file
arch/x86/include/asm/gpio.hdeleted+0−4View before deletion
arch/xtensa/include/asm/gpio.hdeleted+0−4View before deletion
drivers/ata/pata_at91.cmodified+1−2View file
drivers/ata/pata_bf54x.cmodified+1−1View file
drivers/gpio/Kconfigmodified+76−9View file
drivers/gpio/Makefilemodified+8−1View file
drivers/gpio/devres.cmodified+1−1View file
drivers/gpio/gpio-104-dio-48e.cadded+430−0View file
drivers/gpio/gpio-104-idi-48.cmodified+11−19View file
drivers/gpio/gpio-104-idio-16.cmodified+9−18View file
drivers/gpio/gpio-74xx-mmio.cmodified+1−10View file
drivers/gpio/gpio-adnp.cmodified+1−10View file
drivers/gpio/gpio-adp5520.cmodified+1−12View file
drivers/gpio/gpio-adp5588.cmodified+1−3View file
drivers/gpio/gpio-amd8111.cmodified+3−4View file
drivers/gpio/gpio-arizona.cmodified+2−10View file
drivers/gpio/gpio-ath79.cmodified+192−72View file
drivers/gpio/gpio-bcm-kona.cmodified+1−1View file
drivers/gpio/gpio-brcmstb.cmodified+4−9View file
drivers/gpio/gpio-clps711x.cmodified+1−10View file
drivers/gpio/gpio-crystalcove.cmodified+2−7View file
drivers/gpio/gpio-cs5535.cmodified+5−15View file
drivers/gpio/gpio-da9052.cmodified+1−10View file
drivers/gpio/gpio-da9055.cmodified+2−14View file
drivers/gpio/gpio-davinci.cmodified+3−2View file
drivers/gpio/gpio-dln2.cmodified+4−12View file
drivers/gpio/gpio-ep93xx.cmodified+1−1View file
drivers/gpio/gpio-f7188x.cmodified+26−27View file
drivers/gpio/gpio-ge.cmodified+1−1View file
drivers/gpio/gpio-generic.cmodified+1−10View file
drivers/gpio/gpio-ich.cmodified+9−42View file
drivers/gpio/gpio-iop.cmodified+1−1View file
drivers/gpio/gpio-janz-ttl.cmodified+1−11View file
drivers/gpio/gpio-kempld.cmodified+1−10View file
drivers/gpio/gpio-ks8695.cmodified+0−12View file
drivers/gpio/gpio-lp3943.cmodified+2−10View file
drivers/gpio/gpio-lpc32xx.cmodified+1−1View file
drivers/gpio/gpio-lynxpoint.cmodified+1−3View file
drivers/gpio/gpio-mc9s08dz60.cmodified+1−12View file
drivers/gpio/gpio-mcp23s08.cmodified+21−4View file
drivers/gpio/gpio-menz127.cadded+200−0View file
drivers/gpio/gpio-moxart.cmodified+1−4View file
drivers/gpio/gpio-mpc5200.cmodified+0−1View file
drivers/gpio/gpio-mpc8xxx.cmodified+96−159View file
drivers/gpio/gpio-mvebu.cmodified+3−8View file
drivers/gpio/gpio-mxc.cmodified+2−4View file
drivers/gpio/gpio-octeon.cmodified+1−9View file
drivers/gpio/gpio-omap.cmodified+29−28View file
drivers/gpio/gpio-palmas.cmodified+2−10View file
drivers/gpio/gpio-pca953x.cmodified+5−5View file
drivers/gpio/gpio-pcf857x.cmodified+3−7View file
drivers/gpio/gpio-pisosr.cadded+183−0View file
drivers/gpio/gpio-rc5t583.cmodified+2−10View file
drivers/gpio/gpio-rdc321x.cmodified+2−11View file
drivers/gpio/gpio-sch.cmodified+1−10View file
drivers/gpio/gpio-sch311x.cmodified+3−5View file
drivers/gpio/gpio-spear-spics.cmodified+1−1View file
drivers/gpio/gpio-sta2x11.cmodified+1−1View file
drivers/gpio/gpio-stp-xway.cmodified+1−1View file
drivers/gpio/gpio-sx150x.cmodified+2−16View file
drivers/gpio/gpio-syscon.cmodified+1−10View file
drivers/gpio/gpio-tb10x.cmodified+6−16View file
drivers/gpio/gpio-tc3589x.cmodified+2−11View file
drivers/gpio/gpio-tegra.cmodified+1−1View file
drivers/gpio/gpio-timberdale.cmodified+5−20View file
drivers/gpio/gpio-tpic2810.cadded+170−0View file
drivers/gpio/gpio-tps65218.cadded+222−0View file
drivers/gpio/gpio-tps6586x.cmodified+2−10View file
drivers/gpio/gpio-tps65910.cmodified+2−10View file
drivers/gpio/gpio-tps65912.cmodified+86−88View file
drivers/gpio/gpio-ts4800.cadded+81−0View file
drivers/gpio/gpio-ts5500.cmodified+3−6View file
drivers/gpio/gpio-twl6040.cmodified+1−8View file
drivers/gpio/gpio-ucb1400.cmodified+1−2View file
drivers/gpio/gpio-viperboard.cmodified+4−20View file
drivers/gpio/gpio-vx855.cmodified+1−11View file
drivers/gpio/gpio-wm831x.cmodified+2−10View file
drivers/gpio/gpio-wm8350.cmodified+2−10View file
drivers/gpio/gpio-wm8994.cmodified+3−14View file
drivers/gpio/gpio-ws16c48.cadded+427−0View file
drivers/gpio/gpio-xgene-sb.cmodified+233−33View file
drivers/gpio/gpio-xgene.cmodified+1−10View file
drivers/gpio/gpiolib-acpi.cmodified+9−9View file
drivers/gpio/gpiolib-sysfs.cmodified+32−19View file
drivers/gpio/gpiolib.cmodified+605−217View file
drivers/gpio/gpiolib.hmodified+66−13View file
drivers/mfd/Kconfigmodified+9−11View file
drivers/mfd/Makefilemodified+1−2View file
drivers/mfd/menelaus.cmodified+1−1View file
drivers/mfd/tps65912-core.cmodified+88−152View file
drivers/mfd/tps65912-i2c.cmodified+51−111View file
drivers/mfd/tps65912-irq.cdeleted+0−217View before deletion
drivers/mfd/tps65912-spi.cmodified+49−111View file
drivers/mtd/onenand/omap2.cmodified+1−1View file
drivers/pcmcia/bfin_cf_pcmcia.cmodified+1−1View file
drivers/pcmcia/pxa2xx_vpac270.cmodified+0−1View file
drivers/pinctrl/bcm/pinctrl-iproc-gpio.cmodified+14−19View file
drivers/pinctrl/sirf/pinctrl-atlas7.cmodified+0−18View file
drivers/pinctrl/sunxi/pinctrl-sunxi.cmodified+2−2View file
drivers/regulator/Kconfigmodified+1−1View file
drivers/regulator/tps65912-regulator.cmodified+120−493View file
drivers/soc/fsl/qe/gpio.cmodified+1−1View file
drivers/usb/gadget/udc/atmel_usba_udc.cmodified+0−2View file
drivers/usb/host/ohci-at91.cmodified+0−2View file
drivers/video/fbdev/atmel_lcdfb.cmodified+0−2View file
drivers/video/fbdev/omap/lcd_h3.cmodified+1−1View file
drivers/video/fbdev/omap/lcd_osk.cmodified+1−2View file
drivers/video/fbdev/omap/lcd_palmtt.cmodified+1−1View file
include/asm-generic/gpio.hmodified+4−0View file
include/linux/gpio/driver.hmodified+16−23View file
include/linux/mfd/tps65912.hmodified+111−98View file
include/uapi/linux/Kbuildmodified+1−0View file
include/uapi/linux/gpio.hadded+58−0View file
tools/Makefilemodified+5−3View file
tools/gpio/Makefileadded+12−0View file
tools/gpio/gpio-utils.cadded+11−0View file
tools/gpio/gpio-utils.hadded+27−0View file
tools/gpio/lsgpio.cadded+195−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/ABI/obsolete/sysfs-gpio

View file
diff --git a/Documentation/ABI/testing/sysfs-gpio b/Documentation/ABI/obsolete/sysfs-gpio
similarity index 92%
rename from Documentation/ABI/testing/sysfs-gpio
rename to Documentation/ABI/obsolete/sysfs-gpio
index 55ffa2d..867c1fa 100644
--- a/Documentation/ABI/testing/sysfs-gpio
+++ b/Documentation/ABI/obsolete/sysfs-gpio
@@ -1,7 +1,7 @@
What: /sys/class/gpio/
Date: July 2008
KernelVersion: 2.6.27
-Contact: David Brownell <[email protected]>
+Contact: Linus Walleij <[email protected]>
Description:
As a Kconfig option, individual GPIO signals may be accessed from
@@ -26,3 +26,5 @@ Description:
/label ... (r/o) descriptive, not necessarily unique
/ngpio ... (r/o) number of GPIOs; numbered N to N + (ngpio - 1)
+ This ABI is deprecated and will be removed after 2020. It is
+ replaced with the GPIO character device.

Documentation/ABI/testing/gpio-cdev

View file
diff --git a/Documentation/ABI/testing/gpio-cdev b/Documentation/ABI/testing/gpio-cdev
new file mode 100644
index 0000000..7b265fb
--- /dev/null
+++ b/Documentation/ABI/testing/gpio-cdev
@@ -0,0 +1,26 @@
+What: /dev/gpiochip[0-9]+
+Date: November 2015
+KernelVersion: 4.4
+Description:
+ The character device files /dev/gpiochip* are the interface
+ between GPIO chips and userspace.
+
+ The ioctl(2)-based ABI is defined and documented in
+ [include/uapi]<linux/gpio.h>.
+
+ The following file operations are supported:
+
+ open(2)
+ Currently the only useful flags are O_RDWR.
+
+ ioctl(2)
+ Initiate various actions.
+ See the inline documentation in [include/uapi]<linux/gpio.h>
+ for descriptions of all ioctls.
+
+ close(2)
+ Stops and free up the I/O contexts that was associated
+ with the file descriptor.
+
+Users: TBD

Documentation/devicetree/bindings/gpio/gpio-altera.txt

View file
diff --git a/Documentation/devicetree/bindings/gpio/gpio-altera.txt b/Documentation/devicetree/bindings/gpio/gpio-altera.txt
index 12f5014..826a720 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-altera.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-altera.txt
@@ -12,7 +12,7 @@ Required properties:
- #interrupt-cells : Should be 1. The interrupt type is fixed in the hardware.
- The first cell is the GPIO offset number within the GPIO controller.
- interrupts: Specify the interrupt.
-- altr,interrupt-trigger: Specifies the interrupt trigger type the GPIO
+- altr,interrupt-type: Specifies the interrupt trigger type the GPIO
hardware is synthesized. This field is required if the Altera GPIO controller
used has IRQ enabled as the interrupt type is not software controlled,
but hardware synthesized. Required if GPIO is used as an interrupt
@@ -35,7 +35,7 @@ gpio_altr: gpio@0xff200000 {
reg = <0xff200000 0x10>;
interrupts = <0 45 4>;
altr,ngpio = <32>;
- altr,interrupt-trigger = <IRQ_TYPE_EDGE_RISING>;
+ altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
#gpio-cells = <2>;
gpio-controller;
#interrupt-cells = <1>;

Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt

View file
diff --git a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
index f3332b9..c934106 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
@@ -10,6 +10,7 @@ Required properties:
- "microchip,mcp23s08" for 8 GPIO SPI version
- "microchip,mcp23s17" for 16 GPIO SPI version
+ - "microchip,mcp23s18" for 16 GPIO SPI version
- "microchip,mcp23008" for 8 GPIO I2C version or
- "microchip,mcp23017" for 16 GPIO I2C version of the chip
NOTE: Do not use the old mcp prefix any more. It is deprecated and will be
@@ -43,9 +44,6 @@ Optional properties:
- first cell is the pin number
- second cell is used to specify flags.
- interrupt-controller: Marks the device node as a interrupt controller.
-NOTE: The interrupt functionality is only supported for i2c versions of the
-chips. The spi chips can also do the interrupts, but this is not supported by
-the linux driver yet.
Optional device specific properties:
- microchip,irq-mirror: Sets the mirror flag in the IOCON register. Devices

Documentation/devicetree/bindings/gpio/gpio-pisosr.txt

View file
diff --git a/Documentation/devicetree/bindings/gpio/gpio-pisosr.txt b/Documentation/devicetree/bindings/gpio/gpio-pisosr.txt
new file mode 100644
index 0000000..414a01c
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-pisosr.txt
@@ -0,0 +1,34 @@
+Generic Parallel-in/Serial-out Shift Register GPIO Driver
+
+This binding describes generic parallel-in/serial-out shift register
+devices that can be used for GPI (General Purpose Input). This includes
+SN74165 serial-out shift registers and the SN65HVS88x series of
+industrial serializers.
+
+Required properties:
+ - compatible : Should be "pisosr-gpio".
+ - gpio-controller : Marks the device node as a GPIO controller.
+ - #gpio-cells : Should be two. For consumer use see gpio.txt.
+
+Optional properties:
+ - ngpios : Number of used GPIO lines (0..n-1), default is 8.
+ - load-gpios : GPIO pin specifier attached to load enable, this
+ pin is pulsed before reading from the device to
+ load input pin values into the the device.
+
+For other required and optional properties of SPI slave
+nodes please refer to ../spi/spi-bus.txt.
+
+Example:
+
+ gpio@0 {
+ compatible = "ti,sn65hvs882", "pisosr-gpio";
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ load-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
+
+ reg = <0>;
+ spi-max-frequency = <1000000>;
+ spi-cpol;
+ };

Documentation/devicetree/bindings/gpio/gpio-ts4800.txt

View file
diff --git a/Documentation/devicetree/bindings/gpio/gpio-ts4800.txt b/Documentation/devicetree/bindings/gpio/gpio-ts4800.txt
new file mode 100644
index 0000000..92ea9c8
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-ts4800.txt
@@ -0,0 +1,20 @@
+* TS-4800 FPGA's GPIO controller bindings
+
+Required properties:
+- compatible: Must be "technologic,ts4800-gpio".
+- #gpio-cells: Should be two. The first cell is the pin number.
+- reg: Physical base address of the controller and length
+ of memory mapped region.
+
+Optional property:
+- ngpios: See "gpio.txt"
+
+Example:
+
+gpio1: gpio {
+ compatible = "technologic,ts4800-gpio";
+ reg = <0x10020 0x6>;
+ ngpios = <8>;
+ gpio-controller;
+ #gpio-cells = <2>;
+};

Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt

View file
diff --git a/Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt b/Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt
index dae1300..5490c1d 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt
@@ -1,10 +1,20 @@
APM X-Gene Standby GPIO controller bindings
-This is a gpio controller in the standby domain.
-
-There are 20 GPIO pins from 0..21. There is no GPIO_DS14 or GPIO_DS15,
-only GPIO_DS8..GPIO_DS13 support interrupts. The IRQ mapping
-is currently 1-to-1 on interrupts 0x28 thru 0x2d.
+This is a gpio controller in the standby domain. It also supports interrupt in
+some particular pins which are sourced to its parent interrupt controller
+as diagram below:
+ +-----------------+
+ | X-Gene standby |
+ | GPIO controller +------ GPIO_0
++------------+ | | ...
+| Parent IRQ | EXT_INT_0 | +------ GPIO_8/EXT_INT_0
+| controller | (SPI40) | | ...
+| (GICv2) +--------------+ +------ GPIO_[N+8]/EXT_INT_N
+| | ... | |
+| | EXT_INT_N | +------ GPIO_[N+9]
+| | (SPI[40 + N])| | ...
+| +--------------+ +------ GPIO_MAX
++------------+ +-----------------+
Required properties:
- compatible: "apm,xgene-gpio-sb" for the X-Gene Standby GPIO controller
@@ -15,10 +25,18 @@ Required properties:
0 = active high
1 = active low
- gpio-controller: Marks the device node as a GPIO controller.
-- interrupts: Shall contain exactly 6 interrupts.
+- interrupts: The EXT_INT_0 parent interrupt resource must be listed first.
+- interrupt-parent: Phandle of the parent interrupt controller.
+- interrupt-cells: Should be two.
+ - first cell is 0-N coresponding for EXT_INT_0 to EXT_INT_N.
+ - second cell is used to specify flags.
+- interrupt-controller: Marks the device node as an interrupt controller.
+- apm,nr-gpios: Optional, specify number of gpios pin.
+- apm,nr-irqs: Optional, specify number of interrupt pins.
+- apm,irq-start: Optional, specify lowest gpio pin support interrupt.
Example:
- sbgpio: sbgpio@17001000 {
+ sbgpio: gpio@17001000{
compatible = "apm,xgene-gpio-sb";
reg = <0x0 0x17001000 0x0 0x400>;
#gpio-cells = <2>;
@@ -29,4 +47,19 @@ Example:
<0x0 0x2b 0x1>,
<0x0 0x2c 0x1>,
<0x0 0x2d 0x1>;
+ interrupt-parent = <&gic>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ apm,nr-gpios = <22>;
+ apm,nr-irqs = <6>;
+ apm,irq-start = <8>;
+ };
+
+ testuser {
+ compatible = "example,testuser";
+ /* Use the GPIO_13/EXT_INT_5 line as an active high triggered
+ * level interrupt
+ */
+ interrupts = <5 4>;
+ interrupt-parent = <&sbgpio>;
};

Documentation/devicetree/bindings/mfd/tps65912.txt

View file
diff --git a/Documentation/devicetree/bindings/mfd/tps65912.txt b/Documentation/devicetree/bindings/mfd/tps65912.txt
new file mode 100644
index 0000000..717e66d
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/tps65912.txt
@@ -0,0 +1,50 @@
+* TPS65912 Power Management Integrated Circuit bindings
+
+Required properties:
+ - compatible : Should be "ti,tps65912".
+ - reg : Slave address or chip select number (I2C / SPI).
+ - interrupt-parent : The parent interrupt controller.
+ - interrupts : The interrupt line the device is connected to.
+ - interrupt-controller : Marks the device node as an interrupt controller.
+ - #interrupt-cells : The number of cells to describe an IRQ, should be 2.
+ The first cell is the IRQ number.
+ The second cell is the flags, encoded as trigger
+ masks from ../interrupt-controller/interrupts.txt.
+ - gpio-controller : Marks the device node as a GPIO Controller.
+ - #gpio-cells : Should be two. The first cell is the pin number and
+ the second cell is used to specify flags.
+ See ../gpio/gpio.txt for more information.
+ - regulators: : List of child nodes that specify the regulator
+ initialization data. Child nodes must be named
+ after their hardware counterparts: dcdc[1-4] and
+ ldo[1-10]. Each child nodes is defined using the
+ standard binding for regulators.
+
+Example:
+
+ pmic: tps65912@2d {
+ compatible = "ti,tps65912";
+ reg = <0x2d>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ regulators {
+ dcdc1 {
+ regulator-name = "vdd_core";
+ regulator-min-microvolt = <912000>;
+ regulator-max-microvolt = <1144000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo1 {
+ regulator-name = "ldo1";
+ regulator-min-microvolt = <1900000>;
+ regulator-max-microvolt = <1900000>;
+ };
+ };
+ };

Documentation/driver-model/devres.txt

View file
diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt
index 831a536..73b98df 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -252,6 +252,11 @@ GPIO
devm_gpiod_get_index_optional()
devm_gpiod_get_optional()
devm_gpiod_put()
+ devm_gpiochip_add_data()
+ devm_gpiochip_remove()
+ devm_gpio_request()
+ devm_gpio_request_one()
+ devm_gpio_free()
IIO
devm_iio_device_alloc()

Documentation/gpio/board.txt

View file
diff --git a/Documentation/gpio/board.txt b/Documentation/gpio/board.txt
index 3092178..86d3fa9 100644
--- a/Documentation/gpio/board.txt
+++ b/Documentation/gpio/board.txt
@@ -111,16 +111,13 @@ files that desire to do so need to include the following header:
GPIOs are mapped by the means of tables of lookups, containing instances of the
gpiod_lookup structure. Two macros are defined to help declaring such mappings:
- GPIO_LOOKUP(chip_label, chip_hwnum, dev_id, con_id, flags)
- GPIO_LOOKUP_IDX(chip_label, chip_hwnum, dev_id, con_id, idx, flags)
+ GPIO_LOOKUP(chip_label, chip_hwnum, con_id, flags)
+ GPIO_LOOKUP_IDX(chip_label, chip_hwnum, con_id, idx, flags)
where
- chip_label is the label of the gpiod_chip instance providing the GPIO
- chip_hwnum is the hardware number of the GPIO within the chip
- - dev_id is the identifier of the device that will make use of this GPIO. It
- can be NULL, in which case it will be matched for calls to gpiod_get()
- with a NULL device.
- con_id is the name of the GPIO function from the device point of view. It
can be NULL, in which case it will match any function.
- idx is the index of the GPIO within the function.
@@ -134,7 +131,9 @@ In the future, these flags might be extended to support more properties.
Note that GPIO_LOOKUP() is just a shortcut to GPIO_LOOKUP_IDX() where idx = 0.
A lookup table can then be defined as follows, with an empty entry defining its
-end:
+end. The 'dev_id' field of the table is the identifier of the device that will
+make use of these GPIOs. It can be NULL, in which case it will be matched for
+calls to gpiod_get() with a NULL device.
struct gpiod_lookup_table gpios_table = {
.dev_id = "foo.0",

Documentation/ioctl/ioctl-number.txt

View file
diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt
index 91261a3..9369d3b 100644
--- a/Documentation/ioctl/ioctl-number.txt
+++ b/Documentation/ioctl/ioctl-number.txt
@@ -319,6 +319,7 @@ Code Seq#(hex) Include File Comments
0xB1 00-1F PPPoX <mailto:[email protected]>
0xB3 00 linux/mmc/ioctl.h
+0xB4 00-0F linux/gpio.h <mailto:[email protected]>
0xC0 00-0F linux/usb/iowarrior.h
0xCA 00-0F uapi/misc/cxl.h
0xCA 80-8F uapi/scsi/cxlflash_ioctl.h

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 89e9991..e32f484 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -238,6 +238,12 @@ L: [email protected]
S: Maintained
F: drivers/hwmon/abituguru3.c
+ACCES 104-DIO-48E GPIO DRIVER
+M: William Breathitt Gray <[email protected]>
+S: Maintained
+F: drivers/gpio/gpio-104-dio-48e.c
+
ACCES 104-IDI-48 GPIO DRIVER
M: "William Breathitt Gray" <[email protected]>
@@ -4827,10 +4833,14 @@ L: [email protected]
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
S: Maintained
F: Documentation/gpio/
+F: Documentation/ABI/testing/gpio-cdev
+F: Documentation/ABI/obsolete/sysfs-gpio
F: drivers/gpio/
F: include/linux/gpio/
F: include/linux/gpio.h
F: include/asm-generic/gpio.h
+F: include/uapi/linux/gpio.h
+F: tools/gpio/
GRE DEMULTIPLEXER DRIVER
M: Dmitry Kozlov <[email protected]>
@@ -11931,6 +11941,12 @@ M: David Härdeman <[email protected]>
S: Maintained
F: drivers/media/rc/winbond-cir.c
+WINSYSTEMS WS16C48 GPIO DRIVER
+M: William Breathitt Gray <[email protected]>
+S: Maintained
+F: drivers/gpio/gpio-ws16c48.c
+
WIMAX STACK
M: Inaky Perez-Gonzalez <[email protected]>

arch/alpha/include/asm/gpio.h

View before deletion
diff --git a/arch/alpha/include/asm/gpio.h b/arch/alpha/include/asm/gpio.h
deleted file mode 100644
index b3799d8..0000000
--- a/arch/alpha/include/asm/gpio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __LINUX_GPIO_H
-#warning Include linux/gpio.h instead of asm/gpio.h
-#include <linux/gpio.h>
-#endif

arch/arm/common/scoop.c

View file
diff --git a/arch/arm/common/scoop.c b/arch/arm/common/scoop.c
index e0df333..9ba45ad 100644
--- a/arch/arm/common/scoop.c
+++ b/arch/arm/common/scoop.c
@@ -69,7 +69,7 @@ static void __scoop_gpio_set(struct scoop_dev *sdev,
static void scoop_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
{
- struct scoop_dev *sdev = container_of(chip, struct scoop_dev, gpio);
+ struct scoop_dev *sdev = gpiochip_get_data(chip);
unsigned long flags;
spin_lock_irqsave(&sdev->scoop_lock, flags);
@@ -81,7 +81,7 @@ static void scoop_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
static int scoop_gpio_get(struct gpio_chip *chip, unsigned offset)
{
- struct scoop_dev *sdev = container_of(chip, struct scoop_dev, gpio);
+ struct scoop_dev *sdev = gpiochip_get_data(chip);
/* XXX: I'm unsure, but it seems so */
return !!(ioread16(sdev->base + SCOOP_GPRR) & (1 << (offset + 1)));
@@ -90,7 +90,7 @@ static int scoop_gpio_get(struct gpio_chip *chip, unsigned offset)
static int scoop_gpio_direction_input(struct gpio_chip *chip,
unsigned offset)
{
- struct scoop_dev *sdev = container_of(chip, struct scoop_dev, gpio);
+ struct scoop_dev *sdev = gpiochip_get_data(chip);
unsigned long flags;
unsigned short gpcr;
@@ -108,7 +108,7 @@ static int scoop_gpio_direction_input(struct gpio_chip *chip,
static int scoop_gpio_direction_output(struct gpio_chip *chip,
unsigned offset, int value)
{
- struct scoop_dev *sdev = container_of(chip, struct scoop_dev, gpio);
+ struct scoop_dev *sdev = gpiochip_get_data(chip);
unsigned long flags;
unsigned short gpcr;
@@ -224,7 +224,7 @@ static int scoop_probe(struct platform_device *pdev)
devptr->gpio.direction_input = scoop_gpio_direction_input;
devptr->gpio.direction_output = scoop_gpio_direction_output;
- ret = gpiochip_add(&devptr->gpio);
+ ret = gpiochip_add_data(&devptr->gpio, devptr);
if (ret)
goto err_gpio;
}

arch/arm/mach-gemini/gpio.c

View file
diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c
index 2478d9f..469a76e 100644
--- a/arch/arm/mach-gemini/gpio.c
+++ b/arch/arm/mach-gemini/gpio.c
@@ -17,7 +17,7 @@
#include <linux/init.h>
#include <linux/io.h>
#include <linux/irq.h>
-#include <linux/gpio.h>
+#include <linux/gpio/driver.h>
#include <mach/hardware.h>
#include <mach/irqs.h>
@@ -227,5 +227,5 @@ void __init gemini_gpio_init(void)
(void *)i);
}
- BUG_ON(gpiochip_add(&gemini_gpio_chip));
+ BUG_ON(gpiochip_add_data(&gemini_gpio_chip, NULL));
}

arch/arm/mach-imx/mach-mx27ads.c

View file
diff --git a/arch/arm/mach-imx/mach-mx27ads.c b/arch/arm/mach-imx/mach-mx27ads.c
index eb1c347..f510c43 100644
--- a/arch/arm/mach-imx/mach-mx27ads.c
+++ b/arch/arm/mach-imx/mach-mx27ads.c
@@ -13,6 +13,8 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
+#include <linux/gpio/driver.h>
+/* Needed for gpio_to_irq() */
#include <linux/gpio.h>
#include <linux/platform_device.h>
#include <linux/mtd/mtd.h>
@@ -243,7 +245,7 @@ static void __init mx27ads_regulator_init(void)
vchip->ngpio = 1;
vchip->direction_output = vgpio_dir_out;
vchip->set = vgpio_set;
- gpiochip_add(vchip);
+ gpiochip_add_data(vchip, NULL);
platform_device_register_data(NULL, "reg-fixed-voltage",
PLATFORM_DEVID_AUTO,

arch/arm/mach-ixp4xx/common.c

View file
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c
index 1cb6f2f..26874f6 100644
--- a/arch/arm/mach-ixp4xx/common.c
+++ b/arch/arm/mach-ixp4xx/common.c
@@ -27,7 +27,7 @@
#include <linux/clockchips.h>
#include <linux/io.h>
#include <linux/export.h>
-#include <linux/gpio.h>
+#include <linux/gpio/driver.h>
#include <linux/cpu.h>
#include <linux/pci.h>
#include <linux/sched_clock.h>
@@ -461,7 +461,7 @@ void __init ixp4xx_sys_init(void)
platform_add_devices(ixp4xx_devices, ARRAY_SIZE(ixp4xx_devices));
- gpiochip_add(&ixp4xx_gpio_chip);
+ gpiochip_add_data(&ixp4xx_gpio_chip, NULL);
if (cpu_is_ixp46x()) {
int region;

arch/arm/mach-s3c24xx/mach-h1940.c

View file
diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c
index 9f54300..7ed7861 100644
--- a/arch/arm/mach-s3c24xx/mach-h1940.c
+++ b/arch/arm/mach-s3c24xx/mach-h1940.c
@@ -664,7 +664,7 @@ static void __init h1940_map_io(void)
/* Add latch gpio chip, set latch initial value */
h1940_latch_control(0, 0);
- WARN_ON(gpiochip_add(&h1940_latch_gpiochip));
+ WARN_ON(gpiochip_add_data(&h1940_latch_gpiochip, NULL));
}
static void __init h1940_init_time(void)

arch/arm/mach-sa1100/simpad.c

View file
diff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c
index d8965c6..bb3ca9c 100644
--- a/arch/arm/mach-sa1100/simpad.c
+++ b/arch/arm/mach-sa1100/simpad.c
@@ -15,7 +15,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/io.h>
-#include <linux/gpio.h>
+#include <linux/gpio/driver.h>
#include <mach/hardware.h>
#include <asm/setup.h>
@@ -369,7 +369,7 @@ static int __init simpad_init(void)
cs3_gpio.get = cs3_gpio_get;
cs3_gpio.direction_input = cs3_gpio_direction_input;
cs3_gpio.direction_output = cs3_gpio_direction_output;
- ret = gpiochip_add(&cs3_gpio);
+ ret = gpiochip_add_data(&cs3_gpio, NULL);
if (ret)
printk(KERN_WARNING "simpad: Unable to register cs3 GPIO device");

arch/arm/mach-w90x900/gpio.c

View file
diff --git a/arch/arm/mach-w90x900/gpio.c b/arch/arm/mach-w90x900/gpio.c
index ba05aec..55d1a00 100644
--- a/arch/arm/mach-w90x900/gpio.c
+++ b/arch/arm/mach-w90x900/gpio.c
@@ -20,7 +20,7 @@
#include <linux/list.h>
#include <linux/module.h>
#include <linux/io.h>
-#include <linux/gpio.h>
+#include <linux/gpio/driver.h>
#include <mach/hardware.h>
@@ -30,7 +30,6 @@
#define GPIO_IN (0x0C)
#define GROUPINERV (0x10)
#define GPIO_GPIO(Nb) (0x00000001 << (Nb))
-#define to_nuc900_gpio_chip(c) container_of(c, struct nuc900_gpio_chip, chip)
#define NUC900_GPIO_CHIP(name, base_gpio, nr_gpio) \
{ \
@@ -53,7 +52,7 @@ struct nuc900_gpio_chip {
static int nuc900_gpio_get(struct gpio_chip *chip, unsigned offset)
{
- struct nuc900_gpio_chip *nuc900_gpio = to_nuc900_gpio_chip(chip);
+ struct nuc900_gpio_chip *nuc900_gpio = gpiochip_get_data(chip);
void __iomem *pio = nuc900_gpio->regbase + GPIO_IN;
unsigned int regval;
@@ -65,7 +64,7 @@ static int nuc900_gpio_get(struct gpio_chip *chip, unsigned offset)
static void nuc900_gpio_set(struct gpio_chip *chip, unsigned offset, int val)
{
- struct nuc900_gpio_chip *nuc900_gpio = to_nuc900_gpio_chip(chip);
+ struct nuc900_gpio_chip *nuc900_gpio = gpiochip_get_data(chip);
void __iomem *pio = nuc900_gpio->regbase + GPIO_OUT;
unsigned int regval;
unsigned long flags;
@@ -86,7 +85,7 @@ static void nuc900_gpio_set(struct gpio_chip *chip, unsigned offset, int val)
static int nuc900_dir_input(struct gpio_chip *chip, unsigned offset)
{
- struct nuc900_gpio_chip *nuc900_gpio = to_nuc900_gpio_chip(chip);

This diff is incomplete. Download the complete patch.

arch/arm/plat-orion/gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/avr32/boards/merisc/setup.c

View file

This diff is incomplete. Download the complete patch.

arch/avr32/mach-at32ap/pio.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/kernel/bfin_gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/kernel/debug-mmrs.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/mach-bf538/boards/ezkit.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/mach-bf538/ext-gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/mach-bf548/boards/cm_bf548.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/mach-bf548/boards/ezkit.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/mach-bf609/boards/ezkit.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/mach-common/ints-priority.c

View file

This diff is incomplete. Download the complete patch.

arch/blackfin/mach-common/pm.c

View file

This diff is incomplete. Download the complete patch.

arch/ia64/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/m68k/coldfire/gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/metag/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/microblaze/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/mips/alchemy/common/gpiolib.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/ar7/gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/bcm63xx/gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/jz4740/gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/kernel/gpio_txx9.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/rb532/gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/txx9/generic/setup.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/txx9/rbtx4938/setup.c

View file

This diff is incomplete. Download the complete patch.

arch/openrisc/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/ppc4xx_gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/sysdev/simple_gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/sh/include/mach-common/mach/magicpanelr2.h

View file

This diff is incomplete. Download the complete patch.

arch/sparc/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/unicore32/kernel/gpio.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/xtensa/include/asm/gpio.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/ata/pata_at91.c

View file

This diff is incomplete. Download the complete patch.

drivers/ata/pata_bf54x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/devres.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-104-dio-48e.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-104-idi-48.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-104-idio-16.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-74xx-mmio.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-adnp.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-adp5520.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-adp5588.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-amd8111.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-arizona.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ath79.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-bcm-kona.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-brcmstb.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-clps711x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-crystalcove.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-cs5535.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-da9052.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-da9055.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-davinci.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-dln2.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ep93xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-f7188x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ge.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-generic.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ich.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-iop.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-janz-ttl.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-kempld.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ks8695.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-lp3943.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-lpc32xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-lynxpoint.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-mc9s08dz60.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-mcp23s08.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-menz127.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-moxart.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-mpc5200.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-mpc8xxx.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-mvebu.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-mxc.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-octeon.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-omap.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-palmas.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-pca953x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-pcf857x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-pisosr.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-rc5t583.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-rdc321x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-sch.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-sch311x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-spear-spics.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-sta2x11.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-stp-xway.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-sx150x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-syscon.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tb10x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tc3589x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-timberdale.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tpic2810.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tps65218.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tps6586x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tps65910.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tps65912.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ts4800.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ts5500.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-twl6040.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ucb1400.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-viperboard.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-vx855.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-wm831x.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-wm8350.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-wm8994.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-ws16c48.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-xgene-sb.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-xgene.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpiolib-acpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpiolib-sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpiolib.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpiolib.h

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/menelaus.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65912-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65912-i2c.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65912-irq.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/mfd/tps65912-spi.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/onenand/omap2.c

View file

This diff is incomplete. Download the complete patch.

drivers/pcmcia/bfin_cf_pcmcia.c

View file

This diff is incomplete. Download the complete patch.

drivers/pcmcia/pxa2xx_vpac270.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/bcm/pinctrl-iproc-gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sirf/pinctrl-atlas7.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/sunxi/pinctrl-sunxi.c

View file

This diff is incomplete. Download the complete patch.

drivers/regulator/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/regulator/tps65912-regulator.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/fsl/qe/gpio.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/gadget/udc/atmel_usba_udc.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ohci-at91.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/atmel_lcdfb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap/lcd_h3.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap/lcd_osk.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap/lcd_palmtt.c

View file

This diff is incomplete. Download the complete patch.

include/asm-generic/gpio.h

View file

This diff is incomplete. Download the complete patch.

include/linux/gpio/driver.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mfd/tps65912.h

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/Kbuild

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/gpio.h

View file

This diff is incomplete. Download the complete patch.

tools/Makefile

View file

This diff is incomplete. Download the complete patch.

tools/gpio/Makefile

View file

This diff is incomplete. Download the complete patch.

tools/gpio/gpio-utils.c

View file

This diff is incomplete. Download the complete patch.

tools/gpio/gpio-utils.h

View file

This diff is incomplete. Download the complete patch.

tools/gpio/lsgpio.c

View file

This diff is incomplete. Download the complete patch.