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. Cc: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Cc: Marcel Partap <mpartap@xxxxxxx> Cc: Michael Scott <michael.scott@xxxxxxxxxx> Tested-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> --- drivers/mfd/motorola-cpcap.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c --- a/drivers/mfd/motorola-cpcap.c +++ b/drivers/mfd/motorola-cpcap.c @@ -72,6 +72,7 @@ static struct regmap_irq_chip cpcap_irq_chip[CPCAP_NR_IRQ_CHIPS] = { .mask_base = CPCAP_REG_MIM1, .use_ack = true, .handle_reread = true, + .ack_invert = true, }, { .name = "cpcap-m2", @@ -81,6 +82,7 @@ static struct regmap_irq_chip cpcap_irq_chip[CPCAP_NR_IRQ_CHIPS] = { .mask_base = CPCAP_REG_MIM2, .use_ack = true, .handle_reread = true, + .ack_invert = true, }, { .name = "cpcap1-4", @@ -91,6 +93,7 @@ static struct regmap_irq_chip cpcap_irq_chip[CPCAP_NR_IRQ_CHIPS] = { .type_base = CPCAP_REG_INTS1, .use_ack = true, .handle_reread = true, + .ack_invert = true, }, }; -- 2.11.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html