mfd: jz4740-adc: Init mask cache in generic IRQ chip
authorMatt Redfearn <matt.redfearn@imgtec.com>
Thu, 20 Aug 2015 10:30:32 +0000 (11:30 +0100)
committerLee Jones <lee.jones@linaro.org>
Mon, 24 Aug 2015 14:28:34 +0000 (15:28 +0100)
The mask cache must be initialised in the generic IRQ chip,
otherwise enabling one channel will actually enable all
channels when the empty mask cache is written.

Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/jz4740-adc.c

index 408291c..5bb49f0 100644 (file)
@@ -273,7 +273,8 @@ static int jz4740_adc_probe(struct platform_device *pdev)
        ct->chip.irq_unmask = irq_gc_mask_clr_bit;
        ct->chip.irq_ack = irq_gc_ack_set_bit;
 
-       irq_setup_generic_chip(gc, IRQ_MSK(5), 0, 0, IRQ_NOPROBE | IRQ_LEVEL);
+       irq_setup_generic_chip(gc, IRQ_MSK(5), IRQ_GC_INIT_MASK_CACHE, 0,
+                               IRQ_NOPROBE | IRQ_LEVEL);
 
        adc->gc = gc;