ALSA: emu10k1: cache emu1010 firmware

Instead of calling request_firmware() at each time, keep the obtained
firmware internally and reuse it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
index 3707288..9dc94b5 100644
--- a/include/sound/emu10k1.h
+++ b/include/sound/emu10k1.h
@@ -32,6 +32,7 @@
 #include <sound/timer.h>
 #include <linux/interrupt.h>
 #include <linux/mutex.h>
+#include <linux/firmware.h>
 
 #include <asm/io.h>
 #include <uapi/sound/emu10k1.h>
@@ -1785,6 +1786,8 @@
 	unsigned int efx_voices_mask[2];
 	unsigned int next_free_voice;
 
+	const struct firmware *firmware;
+
 #ifdef CONFIG_PM_SLEEP
 	unsigned int *saved_ptr;
 	unsigned int *saved_gpr;