ALSA: AACI: fix multiple IRQ claiming

Claiming the IRQ each time a playback or capture interface is opened
is wasteful; the second copy of the registered handler is identical to
the first and just wastes resources.  Track the number of opens and
only register the handler when necessary.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
diff --git a/sound/arm/aaci.h b/sound/arm/aaci.h
index 6a4a2ee..04c4568 100644
--- a/sound/arm/aaci.h
+++ b/sound/arm/aaci.h
@@ -226,6 +226,8 @@
 	struct snd_card		*card;
 	void			__iomem *base;
 	unsigned int		fifosize;
+	unsigned int		users;
+	struct mutex		irq_lock;
 
 	/* AC'97 */
 	struct mutex		ac97_sem;