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
gpio-104-dio-48e.c
gpio-104-idi-48.c
gpio-104-idio-16.c
gpio-adnp.c
gpio-adp5520.c
gpio-adp5588.c
gpio-altera-a10sr.c
gpio-altera.c
gpio-amd-fch.c
gpio-amd8111.c
gpio-amdpt.c
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
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-brcmstb.c
gpio-bt8xx.c
gpio-cadence.c
gpio: cadence: Add missing MODULE_DEVICE_TABLE
2021-06-03 08:59:08 +02:00
gpio-clps711x.c
gpio-creg-snps.c
gpio-crystalcove.c
gpio-cs5535.c
gpio-da9052.c
gpio-da9055.c
gpio-davinci.c
gpio-dln2.c
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-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
gpio-ftgpio010.c
gpio-ge.c
gpio-gpio-mm.c
gpio-grgpio.c
gpio-gw-pld.c
gpio-hlwd.c
gpio-htc-egpio.c
gpio-ich.c
gpio-intel-mid.c
gpio-iop.c
gpio-it87.c
gpio-ixp4xx.c
gpio-janz-ttl.c
gpio-kempld.c
gpio-loongson.c
gpio-loongson1.c
gpio-lp873x.c
gpio-lp3943.c
gpio-lp87565.c
gpio-lpc18xx.c
gpio-lpc32xx.c
gpio-lynxpoint.c
gpio-madera.c
gpio-max730x.c
gpio-max732x.c
gpio-max3191x.c
gpio-max7300.c
gpio-max7301.c
gpio-max77620.c
gpio-max77650.c
gpio-mb86s7x.c
gpio-mc9s08dz60.c
gpio-mc33880.c
gpio-menz127.c
gpio-merrifield.c
gpio-ml-ioh.c
gpio-mlxbf.c
gpio-mm-lantiq.c
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
gpio-mpc8xxx.c
gpio-mpc5200.c
gpio-msic.c
gpio-mt7621.c
gpio-mvebu.c
gpio: mvebu/pwm: Refuse requests with inverted polarity
2022-05-25 09:14:37 +02:00
gpio-mxc.c
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
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-pci-idio-16.c
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
gpio-pmic-eic-sprd.c
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
gpio-rcar.c
gpio: rcar: Fix runtime PM imbalance on error
2020-10-01 13:18:04 +02:00
gpio-rdc321x.c
gpio-reg.c
gpio-sa1100.c
gpio-sama5d2-piobu.c
gpio-sch.c
gpio-sch311x.c
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
gpio-stmpe.c
gpio-stp-xway.c
gpio-syscon.c
gpio-tb10x.c
gpio-tc3589x.c
gpio: tc35894: fix up tc35894 interrupt configuration
2020-10-07 08:01:24 +02:00
gpio-tegra.c
gpio-tegra186.c
gpio: tegra186: Fix chip_data type confusion
2022-03-02 11:41:17 +01:00
gpio-thunderx.c
gpio-timberdale.c
gpio-tpic2810.c
gpio-tps6586x.c
gpio-tps65086.c
gpio-tps65218.c
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
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-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
gpio-xgene-sb.c
gpio-xgene.c
gpio-xilinx.c
gpio-xlp.c
gpio-xra1403.c
gpio-xtensa.c
gpio-zevio.c
gpio-zx.c
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-devprop.c
gpiolib-devres.c
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
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
Kconfig
gpio: AMD8111 and TQMX86 require HAS_IOPORT_MAP
2021-07-07 08:22:58 -04:00
Makefile
sgpio-aspeed.c
gpio/aspeed-sgpio: don't enable all interrupts by default
2020-10-07 08:01:28 +02:00
TODO