Haibo Chen
91d6aa19dd
gpio: pca953x: only use single read/write for No AI mode
...
[ Upstream commit db8edaa09d7461ec08672a92a2eef63d5882bb79 ]
For the device use NO AI mode(not support auto address increment),
only use the single read/write when config the regmap.
We meet issue on PCA9557PW on i.MX8QXP/DXL evk board, this device
do not support AI mode, but when do the regmap sync, regmap will
sync 3 byte data to register 1, logically this means write first
data to register 1, write second data to register 2, write third data
to register 3. But this device do not support AI mode, finally, these
three data write only into register 1 one by one. the reault is the
value of register 1 alway equal to the latest data, here is the third
data, no operation happened on register 2 and register 3. This is
not what we expect.
Fixes: 4942723276 ("gpio: pca953x: Perform basic regmap conversion")
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-07-29 17:14:14 +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: Convert aspeed_gpio.lock to raw_spinlock
2022-01-27 09:19:43 +01: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/pwm: Refuse requests with inverted polarity
2022-05-25 09:14:37 +02: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: only use single read/write for No AI mode
2022-07-29 17:14:14 +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
gpio: tegra186: Fix chip_data type confusion
2022-03-02 11:41:17 +01: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: ts4900: Do not set DAT and OE together
2022-03-16 13:21:46 +01:00
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: gpio-vf610: do not touch other bits when set the target bit
2022-05-25 09:14:37 +02:00
gpio-viperboard.c
gpio: viperboard: Replace 'unsigned' with 'unsigned int'
2019-08-05 11:26:58 +02:00
gpio-vr41xx.c
MIPS: Remove repetitive increase irq_err_count
2022-06-29 08:58:46 +02:00
gpio-vx855.c
gpio-wcove.c
gpio-winbond.c
gpio: winbond: Fix error code in winbond_gpio_get()
2022-06-29 08:58:47 +02:00
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: use correct format characters
2022-04-20 09:19:35 +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
gpiolib: of: fix bounds check for 'gpio-reserved-ranges'
2022-05-12 12:23:40 +02: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