]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mfd: cpcap: Use ack_invert interrupts
authorTony Lindgren <tony@atomide.com>
Tue, 4 Apr 2017 03:15:55 +0000 (20:15 -0700)
committerLee Jones <lee.jones@linaro.org>
Thu, 27 Apr 2017 08:25:07 +0000 (09:25 +0100)
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>
drivers/mfd/motorola-cpcap.c

index cd93f5c7b063097f0d57fac6f36d3e3216ab8267..a6c0c3419553861f7dfcb41b42f966b3c6792595 100644 (file)
@@ -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,
        },
 };