aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mfd/stmpe.c9
-rw-r--r--drivers/mfd/stmpe.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
index 4a91f6771fb8..9fa2dd6d38bd 100644
--- a/drivers/mfd/stmpe.c
+++ b/drivers/mfd/stmpe.c
@@ -605,9 +605,18 @@ static int stmpe1601_enable(struct stmpe *stmpe, unsigned int blocks,
605 605
606 if (blocks & STMPE_BLOCK_GPIO) 606 if (blocks & STMPE_BLOCK_GPIO)
607 mask |= STMPE1601_SYS_CTRL_ENABLE_GPIO; 607 mask |= STMPE1601_SYS_CTRL_ENABLE_GPIO;
608 else
609 mask &= ~STMPE1601_SYS_CTRL_ENABLE_GPIO;
608 610
609 if (blocks & STMPE_BLOCK_KEYPAD) 611 if (blocks & STMPE_BLOCK_KEYPAD)
610 mask |= STMPE1601_SYS_CTRL_ENABLE_KPC; 612 mask |= STMPE1601_SYS_CTRL_ENABLE_KPC;
613 else
614 mask &= ~STMPE1601_SYS_CTRL_ENABLE_KPC;
615
616 if (blocks & STMPE_BLOCK_PWM)
617 mask |= STMPE1601_SYS_CTRL_ENABLE_SPWM;
618 else
619 mask &= ~STMPE1601_SYS_CTRL_ENABLE_SPWM;
611 620
612 return __stmpe_set_bits(stmpe, STMPE1601_REG_SYS_CTRL, mask, 621 return __stmpe_set_bits(stmpe, STMPE1601_REG_SYS_CTRL, mask,
613 enable ? mask : 0); 622 enable ? mask : 0);
diff --git a/drivers/mfd/stmpe.h b/drivers/mfd/stmpe.h
index 6639f1b0fef5..9e4d21d37a11 100644
--- a/drivers/mfd/stmpe.h
+++ b/drivers/mfd/stmpe.h
@@ -192,7 +192,7 @@ int stmpe_remove(struct stmpe *stmpe);
192 192
193#define STMPE1601_SYS_CTRL_ENABLE_GPIO (1 << 3) 193#define STMPE1601_SYS_CTRL_ENABLE_GPIO (1 << 3)
194#define STMPE1601_SYS_CTRL_ENABLE_KPC (1 << 1) 194#define STMPE1601_SYS_CTRL_ENABLE_KPC (1 << 1)
195#define STMPE1601_SYSCON_ENABLE_SPWM (1 << 0) 195#define STMPE1601_SYS_CTRL_ENABLE_SPWM (1 << 0)
196 196
197/* The 1601/2403 share the same masks */ 197/* The 1601/2403 share the same masks */
198#define STMPE1601_AUTOSLEEP_TIMEOUT_MASK (0x7) 198#define STMPE1601_AUTOSLEEP_TIMEOUT_MASK (0x7)