On Tue, Dec 28, 2010 at 03:59:49PM +0200, Felipe Balbi wrote:
+ disable_irq_nosync(irq);
You shouldn't need this any more; the driver used to be faffing around
with this because it wasn't using genirq for this in the past.
+ for (i = 0; sts.int_sts; sts.int_sts >>= 1, i++) {
+ local_irq_disable();
Simiarly here as far as I know; the original code predates genirq
support for this so is doing some hairy stuff that is no longer
required and may actually be harmful.
What I'd expect to see from a conversion like this would be that most of
the locking/IRQ management stuff would be dropped and the bus_lock() and
bus_sync_unlock() operations would be implemented.