On Mon, Apr 1, 2019 at 4:10 PM Jan Kotas <jank@xxxxxxxxxxx> wrote: > 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@xxxxxxxxxxx> Patch applied! Yours, Linus Walleij