diff options
author | Tony Lindgren <tony@atomide.com> | 2017-04-04 05:15:55 +0200 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2017-04-27 10:25:07 +0200 |
commit | 5a88d4120029601a0868e20774382d312952d3b5 (patch) | |
tree | 32459e6ef6e1d9700f3d05231680e706ca447a21 /drivers/mfd | |
parent | mfd: cpcap: Fix interrupt to use level interrupt (diff) | |
download | linux-5a88d4120029601a0868e20774382d312952d3b5.tar.xz linux-5a88d4120029601a0868e20774382d312952d3b5.zip |
mfd: cpcap: Use ack_invert interrupts
We should use ack_invert as the int_read_and_clear() in the Motorola
kernel tree does "ireg_val & ~mreg_val" before writing to the mask
register.
Fixes: 56e1d40d3bea ("mfd: cpcap: Add minimal support")
Tested-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/motorola-cpcap.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c index cd93f5c7b063..a6c0c3419553 100644 --- a/drivers/mfd/motorola-cpcap.c +++ b/drivers/mfd/motorola-cpcap.c @@ -99,6 +99,7 @@ static struct regmap_irq_chip cpcap_irq_chip[CPCAP_NR_IRQ_CHIPS] = { .ack_base = CPCAP_REG_MI1, .mask_base = CPCAP_REG_MIM1, .use_ack = true, + .ack_invert = true, }, { .name = "cpcap-m2", @@ -107,6 +108,7 @@ static struct regmap_irq_chip cpcap_irq_chip[CPCAP_NR_IRQ_CHIPS] = { .ack_base = CPCAP_REG_MI2, .mask_base = CPCAP_REG_MIM2, .use_ack = true, + .ack_invert = true, }, { .name = "cpcap1-4", @@ -116,6 +118,7 @@ static struct regmap_irq_chip cpcap_irq_chip[CPCAP_NR_IRQ_CHIPS] = { .mask_base = CPCAP_REG_INTM1, .type_base = CPCAP_REG_INTS1, .use_ack = true, + .ack_invert = true, }, }; |