From: Mark Brown
On Wed, Mar 26, 2014 at 11:59:53AM +0000, David Laight wrote:
From: Nicolin Chen
- regmap_read(sai->regmap, FSL_SAI_TCSR, &xcsr);
- regmap_write(sai->regmap, FSL_SAI_TCSR, xcsr);
Assuming these are 'write to clear' bits, you might want to make the write (above) and all the traces (below) conditional on the value being non-zero.
The trace is already conditional? I'd also expect to see the driver only acknowledging sources it knows about and only reporting that the interrupt was handled if it saw one of them - right now all interrupts are unconditionally acknowleged.
The traces are separately conditional on their own bits. That is a lot of checks that will normally be false.
Also the driver may need to clear all the active interrupt bits in order to make the IRQ go away. It should trace that bits it doesn't expect to be set though.
David