diff options
author | Giuliano Pochini <pochini@shiny.it> | 2010-02-14 18:15:51 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-02-15 10:38:10 +0100 |
commit | 4f8ada444cc7a7ea70cdc81f098b34c5f1f2df41 (patch) | |
tree | ded4e81a8e822ee43bdcaab71084c7b0bd58701f /sound/pci/echoaudio/echoaudio.h | |
parent | 19b50063780953563e3c3a2867c39aad7b9e64cf (diff) | |
download | op-kernel-dev-4f8ada444cc7a7ea70cdc81f098b34c5f1f2df41.zip op-kernel-dev-4f8ada444cc7a7ea70cdc81f098b34c5f1f2df41.tar.gz |
ALSA: Echoaudio - Add firmware cache #2
This patch implements a simple cache for the firmware files when CONFIG_PM is defined.
This patch changes get_firmware(), free_firmware() and adds
free_firmware_cache(). The first two functions implement a very
simple cache and the latter is used to actually release all the stored
firmwares when the module is unloaded.
When CONFIG_PM is not enabled those functions act as before, that is
free_firmware() releases the firmware immediately and
free_firmware_cache() does nothing.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/echoaudio/echoaudio.h')
-rw-r--r-- | sound/pci/echoaudio/echoaudio.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/echoaudio/echoaudio.h b/sound/pci/echoaudio/echoaudio.h index be76ef3..a84c0d1 100644 --- a/sound/pci/echoaudio/echoaudio.h +++ b/sound/pci/echoaudio/echoaudio.h @@ -449,6 +449,9 @@ struct echoaudio { volatile u32 __iomem *dsp_registers; /* DSP's register base */ u32 active_mask; /* Chs. active mask or * punks out */ +#ifdef CONFIG_PM + const struct firmware *fw_cache[8]; /* Cached firmwares */ +#endif #ifdef ECHOCARD_HAS_MIDI u16 mtc_state; /* State for MIDI input parsing state machine */ |