summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/stmpe.c
diff options
context:
space:
mode:
authorHugues Fruchet <hugues.fruchet@st.com>2017-03-31 10:12:39 +0200
committerLee Jones <lee.jones@linaro.org>2017-04-27 10:25:07 +0200
commitb97eef5d77b53662b06603c1b18e21968029c925 (patch)
treea5594100f4e67002cb1d688571212b2034344f61 /drivers/mfd/stmpe.c
parentmfd: bxtwc: Remove unnecessary i2c_addr checks in ipc calls (diff)
downloadlinux-b97eef5d77b53662b06603c1b18e21968029c925.tar.xz
linux-b97eef5d77b53662b06603c1b18e21968029c925.zip
mfd: stmpe: Fix bit clearing on STMPE1600
GPIO bits clearing on pins assigned to STMPE1600 had no effects due to missing "clear registers" settings within stmpe1600_regs[]. STMPE1600 does not have dedicated "clear registers", but single "set/clear registers", hence stmpe1600_regs[] "clear registers" (STMPE_IDX_GPCR_XXX) must be set to same value as "set registers" (STMPE_IDX_GPSR_XXX), ie STMPE1600_REG_GPSR_XXX. Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd/stmpe.c')
-rw-r--r--drivers/mfd/stmpe.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
index b0c7bcdaf5df..566caca4efd8 100644
--- a/drivers/mfd/stmpe.c
+++ b/drivers/mfd/stmpe.c
@@ -568,6 +568,8 @@ static const u8 stmpe1600_regs[] = {
[STMPE_IDX_GPMR_CSB] = STMPE1600_REG_GPMR_MSB,
[STMPE_IDX_GPSR_LSB] = STMPE1600_REG_GPSR_LSB,
[STMPE_IDX_GPSR_CSB] = STMPE1600_REG_GPSR_MSB,
+ [STMPE_IDX_GPCR_LSB] = STMPE1600_REG_GPSR_LSB,
+ [STMPE_IDX_GPCR_CSB] = STMPE1600_REG_GPSR_MSB,
[STMPE_IDX_GPDR_LSB] = STMPE1600_REG_GPDR_LSB,
[STMPE_IDX_GPDR_CSB] = STMPE1600_REG_GPDR_MSB,
[STMPE_IDX_IEGPIOR_LSB] = STMPE1600_REG_IEGPIOR_LSB,