pinctrl/amd: fix gpio irq level in debugfs
authorDaniel Kurtz <djkurtz@chromium.org>
Tue, 17 Jul 2018 01:07:41 +0000 (19:07 -0600)
committerLinus Walleij <linus.walleij@linaro.org>
Sun, 29 Jul 2018 20:20:15 +0000 (22:20 +0200)
commit1766e4b7047acf44cdd15aaeb1d63ed76ee78492
treeb75923554ef9e458b40f63d9a109f84f076d8865
parent2e25a9cbdf8cc300baa8f5eb5130152a6c25dd0a
pinctrl/amd: fix gpio irq level in debugfs

According to the AMD BKDG, the GPIO ActiveLevel bits (10:9) map to:
 00 Active High
 01 Active Low
 10 Active on both edges iff LevelTrig (bit 8) == 0
 11 Reserved

The current code has a bug where it interprets 00 => Active Low, and
01 => Active High.

Fix the bug, restrict "Active on both" to just the edge trigger case, and
refactor a bit to make the logic more readable.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-amd.c
drivers/pinctrl/pinctrl-amd.h