From 15e4ba666ca6c2fcc00184cef56fb971a20e8e04 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 15 Jan 2013 17:08:38 +0100 Subject: Revert "ALSA: hda - Add firmware caching to CA0132 codec" This reverts commit c3b4eea26208b8e247ece9d3a9ec8b2eab48c464. Since the recent firmware loader code supports caching at S3/S4 by itself, we don't have to handle f/w caching in the driver. Signed-off-by: Takashi Iwai diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 2b026e2..0d2c2f8 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c @@ -2602,24 +2602,6 @@ static int dspload_image(struct hda_codec *codec, return status; } -static const struct firmware *fw_efx; - -static int request_firmware_cached(const struct firmware **firmware_p, - const char *name, struct device *device) -{ - if (*firmware_p) - return 0; /* already loaded */ - return request_firmware(firmware_p, name, device); -} - -static void release_cached_firmware(void) -{ - if (fw_efx) { - release_firmware(fw_efx); - fw_efx = NULL; - } -} - static bool dspload_is_loaded(struct hda_codec *codec) { unsigned int data = 0; @@ -4351,15 +4333,18 @@ static bool ca0132_download_dsp_images(struct hda_codec *codec) { bool dsp_loaded = false; const struct dsp_image_seg *dsp_os_image; + const struct firmware *fw_entry; - if (request_firmware_cached(&fw_efx, EFX_FILE, - codec->bus->card->dev) != 0) + if (request_firmware(&fw_entry, EFX_FILE, codec->bus->card->dev) != 0) return false; - dsp_os_image = (struct dsp_image_seg *)(fw_efx->data); + dsp_os_image = (struct dsp_image_seg *)(fw_entry->data); dspload_image(codec, dsp_os_image, 0, 0, true, 0); dsp_loaded = dspload_wait_loaded(codec); + release_firmware(fw_entry); + + return dsp_loaded; } @@ -4701,7 +4686,6 @@ static int __init patch_ca0132_init(void) static void __exit patch_ca0132_exit(void) { - release_cached_firmware(); snd_hda_delete_codec_preset(&ca0132_list); } -- cgit v0.10.2