remarkable-linux/drivers/gpio
Laxman Dewangan 4c0facddb7 gpio: core: Decouple open drain/source flag with active low/high
Currently, the GPIO interface is said to Open Drain if it is Single
Ended and active LOW. Similarly, it is said as Open Source if it is
Single Ended and active HIGH.

The active HIGH/LOW is used in the interface for setting the pin
state to HIGH or LOW when enabling/disabling the interface.

In Open Drain interface, pin is set to HIGH by putting pin in
high impedance and LOW by driving to the LOW.

In Open Source interface, pin is set to HIGH by driving pin to
HIGH and set to LOW by putting pin in high impedance.

With above, the Open Drain/Source is unrelated to the active LOW/HIGH
in interface. There is interface where the enable/disable of interface
is ether active LOW or HIGH but it is Open Drain type.

Hence decouple the Open Drain with Single Ended + Active LOW and
Open Source with Single Ended + Active HIGH.

Adding different flag for the Open Drain/Open Source which is valid
only when Single ended flag is enabled.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-04-07 12:23:29 +02:00
..
devres.c gpiolib: Fix spelling of 'successful' 2017-03-14 10:51:28 +01:00
gpio-74x164.c
gpio-74xx-mmio.c
gpio-104-dio-48e.c gpio: 104-dio-48e: make use of raw_spinlock variants 2017-03-16 21:52:07 +01:00
gpio-104-idi-48.c gpio: 104-idi-48: make use of raw_spinlock variants 2017-03-28 14:55:08 +02:00
gpio-104-idio-16.c gpio: 104-idio-16: make use of raw_spinlock variants 2017-03-28 11:12:36 +02:00
gpio-adnp.c gpio: set explicit nesting on drivers 2016-11-25 15:12:27 +01:00
gpio-adp5520.c
gpio-adp5588.c
gpio-altera-a10sr.c gpio: altera-a10sr: Drop unnecessary gpiochip_remove 2016-10-25 13:58:42 +02:00
gpio-altera.c gpio: altera: make use of raw_spinlock variants 2017-03-16 21:52:06 +01:00
gpio-amd8111.c
gpio-amdpt.c
gpio-arizona.c gpio: arizona: Correct handling for reading input GPIOs 2017-04-07 12:14:04 +02:00
gpio-aspeed.c gpio: aspeed: Remove dependence on GPIOF_* macros 2017-02-04 21:34:55 +01:00
gpio-ath79.c gpio: ath79: make use of raw_spinlock variants 2017-03-16 21:52:08 +01:00
gpio-axp209.c gpio: axp209: use correct register for GPIO input status 2016-11-24 16:19:02 +01:00
gpio-bcm-kona.c gpio: bcm-kona: make use of raw_spinlock variants 2017-03-16 21:52:07 +01:00
gpio-brcmstb.c
gpio-bt8xx.c
gpio-clps711x.c
gpio-crystalcove.c gpio: set explicit nesting on drivers 2016-11-25 15:12:27 +01:00
gpio-cs5535.c
gpio-da9052.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-da9055.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-davinci.c gpio: davinci: use devm_irq_alloc_descs() 2017-03-15 11:16:36 +01:00
gpio-dln2.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-dwapb.c gpio: dwapb: Add support for next generation of X-Gene SoC 2017-03-06 14:34:53 +01:00
gpio-em.c
gpio-ep93xx.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-etraxfs.c gpio: etraxfs: make use of raw_spinlock variants 2017-03-16 21:52:08 +01:00
gpio-exar.c gpio: exar: Set proper output level in exar_direction_output 2017-03-15 11:16:31 +01:00
gpio-f7188x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-ftgpio010.c gpio: gemini: rename to match Faraday IP 2017-03-22 09:40:55 +01:00
gpio-ge.c
gpio-gpio-mm.c gpio: gpio-mm: Add support for GPIO names 2017-02-01 16:05:28 +01:00
gpio-grgpio.c
gpio-htc-egpio.c gpio: htc-egpio: read output value from cache 2016-11-13 11:50:22 +01:00
gpio-ich.c
gpio-intel-mid.c gpio: intel-mid: Fix build warning when !CONFIG_PM 2017-01-26 10:00:20 +01:00
gpio-iop.c gpio: iop: Use generic GPIO MMIO functions for driver 2016-09-12 15:28:18 +02:00
gpio-it87.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-janz-ttl.c
gpio-kempld.c
gpio-ks8695.c
gpio-loongson.c
gpio-loongson1.c gpio: loongson1: remove redundant return value check 2016-09-23 15:10:00 +02:00
gpio-lp873x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-lp3943.c
gpio-lpc18xx.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-lpc32xx.c gpio: lpc32xx: remove unused platform data file 2016-09-12 14:23:37 +02:00
gpio-lynxpoint.c
gpio-max730x.c
gpio-max732x.c gpio: simplify adding threaded interrupts 2016-11-25 15:12:27 +01:00
gpio-max7300.c
gpio-max7301.c
gpio-max77620.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-mb86s7x.c gpio: mb86s7x: use builtin_platform_driver 2016-11-22 10:16:17 +01:00
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio-mcp23s08.c gpio: mcp23s08: use regmap 2017-01-30 15:57:46 +01:00
gpio-menz127.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-merrifield.c gpio: merrifield: Don't use GPIOF_DIR_IN / GPIOF_DIR_OUT 2017-03-23 14:06:46 +01:00
gpio-ml-ioh.c gpio: ml-ioh: use resource management for irqs 2017-03-15 11:16:34 +01:00
gpio-mm-lantiq.c gpio: update my email address 2016-12-30 09:18:10 +01:00
gpio-mmio.c gpio: mmio: add support for NI 169445 NAND GPIO 2017-03-23 09:49:06 +01:00
gpio-mockup.c gpio: mockup: use devm_irq_alloc_descs() 2017-03-15 11:16:32 +01:00
gpio-mpc8xxx.c gpio: mpc8xxx: Correct irq handler function 2016-10-24 02:20:40 +02:00
gpio-mpc5200.c
gpio-msic.c gpio: msic: drop unused MODULE_ tags from non-modular code 2016-08-23 11:22:09 +02:00
gpio-mvebu.c gpio: mvebu: use BIT macro instead of bit shifting 2017-03-23 10:21:39 +01:00
gpio-mxc.c gpio: mxc: use devm_irq_alloc_descs() 2017-03-15 11:16:37 +01:00
gpio-mxs.c gpio: mxs: use devm_irq_alloc_descs() 2017-03-15 11:16:37 +01:00
gpio-octeon.c
gpio-omap.c gpio: omap: use devm_irq_alloc_descs() 2017-03-15 11:16:33 +01:00
gpio-palmas.c gpio: palmas: fix implicit assumption module.h is present 2016-09-15 13:57:43 +02:00
gpio-pca953x.c gpio: pca953x: Expand comment for "reset" GPIO in ACPI case 2017-03-23 10:42:44 +01:00
gpio-pcf857x.c gpio: simplify adding threaded interrupts 2016-11-25 15:12:27 +01:00
gpio-pch.c gpio: pch: use resource management for irqs 2017-03-15 11:16:33 +01:00
gpio-pci-idio-16.c gpio: pci-idio-16: make use of raw_spinlock variants 2017-03-28 11:13:59 +02:00
gpio-pisosr.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-pl061.c gpio: pl061: make use of raw_spinlock variants 2017-03-16 21:52:09 +01:00
gpio-pxa.c gpio: pxa: use devm_irq_alloc_descs() 2017-03-15 11:16:35 +01:00
gpio-rc5t583.c
gpio-rcar.c gpio: rcar: Fine-grained Runtime PM support 2016-12-28 01:33:02 +01:00
gpio-rdc321x.c
gpio-reg.c gpio: gpio-reg: add irq mapping for gpio-reg users 2017-03-24 14:05:00 +01:00
gpio-sa1100.c gpio: sa1100: implement get_direction method 2017-03-24 14:04:37 +01:00
gpio-sch.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-sch311x.c
gpio-sodaville.c gpio: sodaville: use resource management for irqs 2017-03-15 11:16:36 +01:00
gpio-spear-spics.c gpio: spear-spics: drop unused MODULE_ tags from non-modular code 2016-08-23 11:23:41 +02:00
gpio-sta2x11.c gpio: sta2x11: use resource management for irqs 2017-03-15 11:16:38 +01:00
gpio-stmpe.c Bulk GPIO changes for the v4.10 kernel cycle: 2016-12-13 07:54:57 -08:00
gpio-stp-xway.c gpio: update my email address 2016-12-30 09:18:10 +01:00
gpio-syscon.c
gpio-tb10x.c
gpio-tc3589x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-tegra.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-timberdale.c
gpio-tpic2810.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-tps6586x.c
gpio-tps65086.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-tps65218.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-tps65910.c
gpio-tps65912.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-ts4800.c gpio: ts4800: Fix module autoload 2016-10-21 14:55:07 +02:00
gpio-ts4900.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-ts5500.c
gpio-twl4030.c gpio: twl4030: use devm_irq_alloc_descs() 2017-03-15 11:16:32 +01:00
gpio-twl6040.c
gpio-tz1090-pdc.c
gpio-tz1090.c
gpio-ucb1400.c
gpio-vf610.c gpio: vf610: use builtin_platform_driver 2016-11-24 16:19:02 +01:00
gpio-viperboard.c
gpio-vr41xx.c
gpio-vx855.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wcove.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wm831x.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-wm8350.c gpio: constify gpio_chip structures 2016-09-13 10:35:56 +02:00
gpio-wm8994.c pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gpio-ws16c48.c gpio: ws16c48: make use of raw_spinlock variants 2017-03-16 21:52:09 +01:00
gpio-xgene-sb.c
gpio-xgene.c
gpio-xilinx.c
gpio-xlp.c gpio: xlp: Update for ARCH_THUNDER2 2017-03-16 21:52:10 +01:00
gpio-xtensa.c
gpio-zevio.c
gpio-zx.c gpio: zx: make use of raw_spinlock variants 2017-03-16 21:52:10 +01:00
gpio-zynq.c gpio: Added zynq specific check for special pins on bank zero 2016-09-23 15:26:20 +02:00
gpiolib-acpi.c gpio: acpi: Ignore -EPROBE_DEFER for unselected gpioints 2017-03-16 21:52:13 +01:00
gpiolib-devprop.c gpio: gpiolib-devprop: Check chip->parent pointer before dereferencing 2016-10-25 20:23:19 +02:00
gpiolib-legacy.c
gpiolib-of.c gpio: core: Decouple open drain/source flag with active low/high 2017-04-07 12:23:29 +02:00
gpiolib-sysfs.c gpio: fix documentation for gpiod_unexport 2016-09-12 14:53:33 +02:00
gpiolib.c gpio: core: Decouple open drain/source flag with active low/high 2017-04-07 12:23:29 +02:00
gpiolib.h gpiolib: Update documentation of struct acpi_gpio_info 2017-01-11 12:09:36 +01:00
Kconfig gpio: add generic single-register fixed-direction GPIO driver 2017-03-24 14:04:46 +01:00
Makefile gpio: add generic single-register fixed-direction GPIO driver 2017-03-24 14:04:46 +01:00