diff options
Diffstat (limited to 'sound/pci/maestro3.c')
-rw-r--r-- | sound/pci/maestro3.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c index 4526904e3f86..8a5ff1cb5362 100644 --- a/sound/pci/maestro3.c +++ b/sound/pci/maestro3.c | |||
@@ -59,6 +59,10 @@ MODULE_SUPPORTED_DEVICE("{{ESS,Maestro3 PCI}," | |||
59 | "{ESS,Allegro PCI}," | 59 | "{ESS,Allegro PCI}," |
60 | "{ESS,Allegro-1 PCI}," | 60 | "{ESS,Allegro-1 PCI}," |
61 | "{ESS,Canyon3D-2/LE PCI}}"); | 61 | "{ESS,Canyon3D-2/LE PCI}}"); |
62 | #ifndef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL | ||
63 | MODULE_FIRMWARE("ess/maestro3_assp_kernel.fw"); | ||
64 | MODULE_FIRMWARE("ess/maestro3_assp_minisrc.fw"); | ||
65 | #endif | ||
62 | 66 | ||
63 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ | 67 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ |
64 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ | 68 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ |
@@ -2101,9 +2105,7 @@ static int __devinit snd_m3_mixer(struct snd_m3 *chip) | |||
2101 | } | 2105 | } |
2102 | 2106 | ||
2103 | 2107 | ||
2104 | #define FIRMWARE_IN_THE_KERNEL | 2108 | #ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL |
2105 | |||
2106 | #ifdef FIRMWARE_IN_THE_KERNEL | ||
2107 | 2109 | ||
2108 | /* | 2110 | /* |
2109 | * DSP Code images | 2111 | * DSP Code images |
@@ -2242,7 +2244,7 @@ static const struct firmware assp_minisrc = { | |||
2242 | .size = sizeof assp_minisrc_image | 2244 | .size = sizeof assp_minisrc_image |
2243 | }; | 2245 | }; |
2244 | 2246 | ||
2245 | #endif /* FIRMWARE_IN_THE_KERNEL */ | 2247 | #else /* CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL */ |
2246 | 2248 | ||
2247 | #ifdef __LITTLE_ENDIAN | 2249 | #ifdef __LITTLE_ENDIAN |
2248 | static inline void snd_m3_convert_from_le(const struct firmware *fw) { } | 2250 | static inline void snd_m3_convert_from_le(const struct firmware *fw) { } |
@@ -2257,6 +2259,8 @@ static void snd_m3_convert_from_le(const struct firmware *fw) | |||
2257 | } | 2259 | } |
2258 | #endif | 2260 | #endif |
2259 | 2261 | ||
2262 | #endif /* CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL */ | ||
2263 | |||
2260 | 2264 | ||
2261 | /* | 2265 | /* |
2262 | * initialize ASSP | 2266 | * initialize ASSP |
@@ -2550,14 +2554,10 @@ static int snd_m3_free(struct snd_m3 *chip) | |||
2550 | if (chip->iobase) | 2554 | if (chip->iobase) |
2551 | pci_release_regions(chip->pci); | 2555 | pci_release_regions(chip->pci); |
2552 | 2556 | ||
2553 | #ifdef FIRMWARE_IN_THE_KERNEL | 2557 | #ifndef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL |
2554 | if (chip->assp_kernel_image != &assp_kernel) | 2558 | release_firmware(chip->assp_kernel_image); |
2559 | release_firmware(chip->assp_minisrc_image); | ||
2555 | #endif | 2560 | #endif |
2556 | release_firmware(chip->assp_kernel_image); | ||
2557 | #ifdef FIRMWARE_IN_THE_KERNEL | ||
2558 | if (chip->assp_minisrc_image != &assp_minisrc) | ||
2559 | #endif | ||
2560 | release_firmware(chip->assp_minisrc_image); | ||
2561 | 2561 | ||
2562 | pci_disable_device(chip->pci); | 2562 | pci_disable_device(chip->pci); |
2563 | kfree(chip); | 2563 | kfree(chip); |
@@ -2747,29 +2747,29 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci, | |||
2747 | return -ENOMEM; | 2747 | return -ENOMEM; |
2748 | } | 2748 | } |
2749 | 2749 | ||
2750 | #ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL | ||
2751 | chip->assp_kernel_image = &assp_kernel; | ||
2752 | #else | ||
2750 | err = request_firmware(&chip->assp_kernel_image, | 2753 | err = request_firmware(&chip->assp_kernel_image, |
2751 | "ess/maestro3_assp_kernel.fw", &pci->dev); | 2754 | "ess/maestro3_assp_kernel.fw", &pci->dev); |
2752 | if (err < 0) { | 2755 | if (err < 0) { |
2753 | #ifdef FIRMWARE_IN_THE_KERNEL | ||
2754 | chip->assp_kernel_image = &assp_kernel; | ||
2755 | #else | ||
2756 | snd_m3_free(chip); | 2756 | snd_m3_free(chip); |
2757 | return err; | 2757 | return err; |
2758 | #endif | ||
2759 | } else | 2758 | } else |
2760 | snd_m3_convert_from_le(chip->assp_kernel_image); | 2759 | snd_m3_convert_from_le(chip->assp_kernel_image); |
2760 | #endif | ||
2761 | 2761 | ||
2762 | #ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL | ||
2763 | chip->assp_minisrc_image = &assp_minisrc; | ||
2764 | #else | ||
2762 | err = request_firmware(&chip->assp_minisrc_image, | 2765 | err = request_firmware(&chip->assp_minisrc_image, |
2763 | "ess/maestro3_assp_minisrc.fw", &pci->dev); | 2766 | "ess/maestro3_assp_minisrc.fw", &pci->dev); |
2764 | if (err < 0) { | 2767 | if (err < 0) { |
2765 | #ifdef FIRMWARE_IN_THE_KERNEL | ||
2766 | chip->assp_minisrc_image = &assp_minisrc; | ||
2767 | #else | ||
2768 | snd_m3_free(chip); | 2768 | snd_m3_free(chip); |
2769 | return err; | 2769 | return err; |
2770 | #endif | ||
2771 | } else | 2770 | } else |
2772 | snd_m3_convert_from_le(chip->assp_minisrc_image); | 2771 | snd_m3_convert_from_le(chip->assp_minisrc_image); |
2772 | #endif | ||
2773 | 2773 | ||
2774 | if ((err = pci_request_regions(pci, card->driver)) < 0) { | 2774 | if ((err = pci_request_regions(pci, card->driver)) < 0) { |
2775 | snd_m3_free(chip); | 2775 | snd_m3_free(chip); |