]> git.hungrycats.org Git - linux/commitdiff
mfd: cpcap: Use ack_invert interrupts
authorTony Lindgren <tony@atomide.com>
Tue, 4 Apr 2017 03:15:55 +0000 (20:15 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Jun 2017 05:06:17 +0000 (07:06 +0200)
commit 5a88d4120029601a0868e20774382d312952d3b5 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mfd/motorola-cpcap.c

index 920a608af1f11d2d66e20261e41910d499fe5a46..1d3fec0aa1668dfec3bbe4084b0d2a321dd8db7b 100644 (file)
@@ -71,6 +71,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",
@@ -79,6 +80,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",
@@ -88,6 +90,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,
        },
 };