mfd: stmpe: Fix bit clearing on STMPE1600
authorHugues Fruchet <hugues.fruchet@st.com>
Fri, 31 Mar 2017 08:12:39 +0000 (10:12 +0200)
committerLee Jones <lee.jones@linaro.org>
Thu, 27 Apr 2017 08:25:07 +0000 (09:25 +0100)
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>
drivers/mfd/stmpe.c

index b0c7bcdaf5df522f9d1a208fe325cf053c063fab..566caca4efd8ee509540b1c65df396015e37d042 100644 (file)
@@ -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,