diff options
author | Jan Kotas <jank@cadence.com> | 2019-04-01 12:09:42 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2019-04-04 20:04:28 +0300 |
commit | 4f2f95e9a81299266a4a4f771ac6eb9395528d73 (patch) | |
tree | 379954760fcedc5e8feeb77895476d26801fffe8 /arch/arc/boot/dts/axs10x_mb.dtsi | |
parent | 542f36159f9466faf4bd8d776fdc79f07c048c42 (diff) | |
download | linux-4f2f95e9a81299266a4a4f771ac6eb9395528d73.tar.xz |
gpio: mmio: Fix bgpio_get_set & bgpio_get_set_multiple
During my regression testing I noticed the cadence GPIO driver
fails on the latest gpio for-next tree.
I think the reason is this patch:
commit 96cd559817f2 ("Merge branch 'devel' into for-next")
Here is a part of the test log:
Loopback 8 -> 24
TESTING: gpio: 488: output direction PASSED
TESTING: gpio: 504: input direction PASSED
TESTING: gpio: 488: 0 PASSED
TESTING: gpio: 488 -> 504: 0 PASSED
TESTING: gpio: 488: 1 FAILED
TESTING: gpio: 488 -> 504: 1 FAILED
TESTING: gpio: 488: 0 PASSED
TESTING: gpio: 488 -> 504: 0 PASSED
It looks like the issue is that gc->bgpio_dir has changed its meaning.
It used to be set to the register value (so it was being inverted).
Now it's always set to 1 for output and 0 for input.
However the bgpio_get_set functions were not updated.
So they invert the bit again, which means a wrong register
is being accessed.
This patch fixes that by removing the unnecessary inversion.
Signed-off-by: Jan Kotas <jank@cadence.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arc/boot/dts/axs10x_mb.dtsi')
0 files changed, 0 insertions, 0 deletions