Andy Shevchenko
2880dc1302
gpio: pca953x: Improve bias setting
...
commit 55a9968c7e139209a9e93d4ca4321731bea5fc95 upstream.
The commit 15add06841 ("gpio: pca953x: add ->set_config implementation")
introduced support for bias setting. However this, due to being half-baked,
brought potential issues:
- the turning bias via disabling makes the pin floating for a while;
- once enabled, bias can't be disabled.
Fix all these by adding support for bias disabling and move the disabling
part under the corresponding conditional.
While at it, add support for default setting, since it's cheap to add.
Fixes: 15add06841 ("gpio: pca953x: add ->set_config implementation")
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-10-20 11:40:15 +02:00
..
gpio-74x164.c
gpio-74xx-mmio.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-104-dio-48e.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-104-idi-48.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-104-idio-16.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-adnp.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-adp5520.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149
2019-05-30 11:25:18 -07:00
gpio-adp5588.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149
2019-05-30 11:25:18 -07:00
gpio-altera-a10sr.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-altera.c
gpio: altera: Pass irqchip when adding gpiochip
2019-07-03 10:24:12 +02:00
gpio-amd-fch.c
drivers: gpio: amd-fch: make resource struct const
2019-07-03 10:10:32 +02:00
gpio-amd8111.c
gpio-amdpt.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-arizona.c
gpio: arizona: put pm_runtime in case of failure
2020-07-29 10:18:26 +02:00
gpio-aspeed.c
gpio: aspeed: fix ast2600 bank properties
2020-10-07 08:01:29 +02:00
gpio-ath79.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-bcm-kona.c
gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe()
2020-06-03 08:21:21 +02:00
gpio-bd9571mwv.c
gpio-bd70528.c
gpio: bd70528: Use correct unit for debounce times
2019-11-12 11:18:52 +01:00
gpio-brcmstb.c
gpio: Remove dev_err() usage after platform_get_irq()
2019-08-05 13:25:34 +02:00
gpio-bt8xx.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
gpio-cadence.c
gpio: cadence: Add missing MODULE_DEVICE_TABLE
2021-06-03 08:59:08 +02:00
gpio-clps711x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-creg-snps.c
gpio: creg-snps: use devm_platform_ioremap_resource() to simplify code
2019-09-11 14:50:02 +01:00
gpio-crystalcove.c
gpio-cs5535.c
docs: driver-model: move it to the driver-api book
2019-07-15 11:03:02 -03:00
gpio-da9052.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-da9055.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-davinci.c
gpio: davinci: silence error prints in case of EPROBE_DEFER
2019-07-15 11:52:34 +02:00
gpio-dln2.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372
2019-06-05 17:37:10 +02:00
gpio-dwapb.c
gpio: dwapb: Append MODULE_ALIAS for platform driver
2020-06-24 17:50:21 +02:00
gpio-eic-sprd.c
gpio: eic-sprd: break loop when getting NULL device resource
2020-12-30 11:50:55 +01:00
gpio-em.c
gpio: em: use a helper variable for &pdev->dev
2019-07-22 14:40:07 +02:00
gpio-ep93xx.c
gpio: ep93xx: Fix single irqchip with multi gpiochips
2021-02-17 10:35:14 +01:00
gpio-exar.c
gpio: exar: Fix bad handling for ida_simple_get error path
2020-06-03 08:21:19 +02:00
gpio-f7188x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-ftgpio010.c
gpio: ftgpio: Fix an error handling path in 'ftgpio_gpio_probe()'
2019-08-23 12:02:34 +02:00
gpio-ge.c
gpio-gpio-mm.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-grgpio.c
gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap()
2020-02-24 08:36:26 +01:00
gpio-gw-pld.c
gpio-hlwd.c
gpio: hlwd: Pass irqchip when adding gpiochip
2019-08-15 09:57:29 +02:00
gpio-htc-egpio.c
gpio: htc-egpio: Remove unused exported htc_egpio_get_wakeup_irq()
2019-09-12 10:07:44 +01:00
gpio-ich.c
gpio-intel-mid.c
gpio: intel-mid: Move hardware initialization to callback
2019-10-15 01:18:51 +02:00
gpio-iop.c
Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
2019-07-15 21:10:39 -07:00
gpio-it87.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 300
2019-06-05 17:37:00 +02:00
gpio-ixp4xx.c
gpio: updates for v5.4
2019-09-03 16:04:19 +02:00
gpio-janz-ttl.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-kempld.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 294
2019-06-05 17:36:38 +02:00
gpio-loongson.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-loongson1.c
gpio-lp873x.c
gpio-lp3943.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372
2019-06-05 17:37:10 +02:00
gpio-lp87565.c
gpio-lpc18xx.c
gpio-lpc32xx.c
gpio: lpc32xx: allow building on non-lpc32xx targets
2019-08-15 21:33:07 +02:00
gpio-lynxpoint.c
gpio: lynxpoint: Setup correct IRQ handlers
2020-01-04 19:18:20 +01:00
gpio-madera.c
gpio: madera: Add support for Cirrus Logic CS47L92
2019-08-05 11:45:24 +02:00
gpio-max730x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max732x.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-max3191x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max7300.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max7301.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-max77620.c
gpio: max77620: Fixup debounce delays
2019-11-12 11:13:54 +01:00
gpio-max77650.c
gpio: max77650: add MODULE_ALIAS()
2019-07-29 00:03:52 +02:00
gpio-mb86s7x.c
gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h
2019-07-31 00:57:21 +02:00
gpio-mc9s08dz60.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
2019-05-30 11:26:37 -07:00
gpio-mc33880.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176
2019-05-30 11:29:19 -07:00
gpio-menz127.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441
2019-06-05 17:37:17 +02:00
gpio-merrifield.c
Revert "gpio: merrifield: Pass irqchip when adding gpiochip"
2019-11-03 23:41:11 +01:00
gpio-ml-ioh.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167
2019-05-30 11:26:39 -07:00
gpio-mlxbf.c
gpio-mm-lantiq.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-mmio.c
gpio-mockup.c
gpio: mockup: fix resource leak in error path
2020-10-07 08:01:24 +02:00
gpio-moxtet.c
drivers: gpio: Add support for GPIOs over Moxtet bus
2019-08-14 15:30:56 +02:00
gpio-mpc8xxx.c
gpio: mpc8xxx: Add platform device to gpiochip->parent
2020-01-17 19:49:03 +01:00
gpio-mpc5200.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
2019-06-05 17:37:06 +02:00
gpio-msic.c
gpio-mt7621.c
gpio: mt7621: Pass irqchip when adding gpiochip
2019-08-23 12:05:06 +02:00
gpio-mvebu.c
gpio: mvebu: fix pwm .get_state period calculation
2021-01-30 13:54:09 +01:00
gpio-mxc.c
gpio: mxc: Only get the second IRQ when there is more than one IRQ
2020-01-04 19:16:27 +01:00
gpio-mxs.c
gpio-octeon.c
gpio-omap.c
gpio: omap: Save and restore sysconfig
2021-04-28 13:19:14 +02:00
gpio-palmas.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-pca953x.c
gpio: pca953x: Improve bias setting
2021-10-20 11:40:15 +02:00
gpio-pcf857x.c
gpio: pcf857x: Fix missing first interrupt
2021-03-04 10:26:49 +01:00
gpio-pch.c
gpio: pch: Use dev_get_drvdata
2019-07-23 18:59:05 +03:00
gpio-pci-idio-16.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-pcie-idio-24.c
gpio: pcie-idio-24: Enable PEX8311 interrupts
2020-11-18 19:20:31 +01:00
gpio-pisosr.c
gpio-pl061.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-pmic-eic-sprd.c
gpio: Remove dev_err() usage after platform_get_irq()
2019-08-05 13:25:34 +02:00
gpio-pxa.c
gpio: pxa: Fix return value of pxa_gpio_probe()
2020-06-03 08:21:21 +02:00
gpio-raspberrypi-exp.c
gpio-rc5t583.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-rcar.c
gpio: rcar: Fix runtime PM imbalance on error
2020-10-01 13:18:04 +02:00
gpio-rdc321x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
gpio-reg.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 233
2019-06-19 17:09:06 +02:00
gpio-sa1100.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-sama5d2-piobu.c
gpio-sch.c
gpio-sch311x.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-siox.c
gpio: siox: explicitly support only threaded irqs
2020-10-07 08:01:23 +02:00
gpio-sodaville.c
gpio-spear-spics.c
gpio-sprd.c
gpio: sprd: Clear interrupt when setting the type as edge
2020-10-07 08:01:27 +02:00
gpio-sta2x11.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
2019-06-05 17:37:06 +02:00
gpio-stmpe.c
gpio: Initialize the irqchip valid_mask with a callback
2019-09-11 01:09:37 +01:00
gpio-stp-xway.c
Bulk GPIO changes for the v5.3 kernel cycle:
2019-07-09 09:07:00 -07:00
gpio-syscon.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
gpio-tb10x.c
gpio: Remove dev_err() usage after platform_get_irq()
2019-08-05 13:25:34 +02:00
gpio-tc3589x.c
gpio: tc35894: fix up tc35894 interrupt configuration
2020-10-07 08:01:24 +02:00
gpio-tegra.c
gpio: tegra: mask GPIO IRQs during IRQ shutdown
2020-06-03 08:21:09 +02:00
gpio-tegra186.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 233
2019-06-19 17:09:06 +02:00
gpio-thunderx.c
Revert "gpio: thunderx: Switch to GPIOLIB_IRQCHIP"
2020-01-23 08:22:29 +01:00
gpio-timberdale.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176
2019-05-30 11:29:19 -07:00
gpio-tpic2810.c
gpio-tps6586x.c
gpio-tps65086.c
gpio-tps65218.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 111
2019-05-24 17:39:01 +02:00
gpio-tps65910.c
gpio-tps65912.c
gpio-tps68470.c
gpio-tqmx86.c
gpio: tqmx86: really make IRQ optional
2021-08-12 13:20:57 +02:00
gpio-ts4800.c
gpio-ts4900.c
gpio-ts5500.c
gpio-twl4030.c
gpio-twl6040.c
gpio-ucb1400.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-uniphier.c
gpio: uniphier: Fix void functions to remove return value
2021-09-30 10:09:23 +02:00
gpio-vf610.c
gpio: vf610: Pass irqchip when adding gpiochip
2019-08-23 09:41:18 +02:00
gpio-viperboard.c
gpio: viperboard: Replace 'unsigned' with 'unsigned int'
2019-08-05 11:26:58 +02:00
gpio-vr41xx.c
gpio: vr41xx: Use devm_platform_ioremap_resource()
2019-06-27 15:56:51 +01:00
gpio-vx855.c
gpio-wcove.c
gpio-winbond.c
gpio-wm831x.c
gpio-wm8350.c
gpio-wm8994.c
gpio-ws16c48.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
gpio-xgene-sb.c
gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h
2019-07-31 00:57:21 +02:00
gpio-xgene.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234
2019-06-19 17:09:07 +02:00
gpio-xilinx.c
gpio: xilinx: Fix bug where the wrong GPIO register is written to
2020-02-19 19:53:02 +01:00
gpio-xlp.c
gpio: xlp: Pass irqchip when adding gpiochip
2019-08-15 09:55:07 +02:00
gpio-xra1403.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
2019-05-30 11:29:52 -07:00
gpio-xtensa.c
gpio: xtensa: fix driver build
2020-01-09 10:19:59 +01:00
gpio-zevio.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
gpio-zx.c
gpio: zx: Pass irqchip when adding gpiochip
2019-08-23 09:40:44 +02:00
gpio-zynq.c
gpio: zynq: Check return value of pm_runtime_get_sync
2021-07-20 16:10:44 +02:00
gpiolib-acpi.c
gpiolib: acpi: Add quirk to ignore EC wakeups on Dell Venue 10 Pro 5055
2021-05-22 11:38:29 +02:00
gpiolib-acpi.h
gpiolib: acpi: make acpi_can_fallback_to_crs() static
2019-09-10 11:34:20 +01:00
gpiolib-devprop.c
gpiolib-devres.c
gpio: devres: Switch to EXPORT_SYMBOL_GPL()
2019-09-11 14:47:39 +01:00
gpiolib-legacy.c
gpiolib-of.c
mmc: core: Rework wp-gpio handling
2020-02-19 19:53:10 +01:00
gpiolib-of.h
gpio: of: Make of_get_named_gpiod_flags() private
2019-09-11 14:45:01 +01:00
gpiolib-sysfs.c
gpio: sysfs: Obey valid_mask
2021-04-21 12:56:13 +02:00
gpiolib.c
gpio: fix locking open drain IRQ lines
2020-06-03 08:21:28 +02:00
gpiolib.h
gpiolib: acpi: Split ACPI stuff to gpiolib-acpi.h
2019-07-31 00:57:21 +02:00
Kconfig
gpio: AMD8111 and TQMX86 require HAS_IOPORT_MAP
2021-07-07 08:22:58 -04:00
Makefile
ARM: SoC driver updates for v5.4
2019-09-16 15:52:38 -07:00
sgpio-aspeed.c
gpio/aspeed-sgpio: don't enable all interrupts by default
2020-10-07 08:01:28 +02:00
TODO
gpio: Add GPIOLIB_IRQCHIP cleanup to TODO
2019-06-14 10:16:15 +02:00