提交 7c7cae17 编写于 作者: T Takashi Iwai 提交者: David Woodhouse

ALSA: wavefront - Always use request_firmware()

Always use request_firmware() for loading yss225_registers image.
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
上级 4f8d1825
......@@ -63,6 +63,7 @@ fw-shipped-$(CONFIG_SXG) += sxg/saharadownloadB.sys \
sxg/saharadbgdownloadB.sys
fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \
yamaha/ds1e_ctrl.fw
fw-shipped-$(CONFIG_SND_WAVEFRONT) += yamaha/yss225_registers.bin
fw-shipped-$(CONFIG_TEHUTI) += tehuti/bdx.bin
fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \
tigon/tg3_tso5.bin
......
......@@ -642,3 +642,15 @@ Licence: GPLv2 or later
ARM assembly source code available at http://www.linuxtv.org/downloads/firmware/Boot.S
--------------------------------------------------------------------------
Driver: wavefront - ISA WaveFront sound card
File: yamaha/yss225_registers.bin
Licence: Allegedly GPLv2+, but no source visible.
Found in hex form in kernel source, with the following comment:
Copyright (c) 1998-2002 by Paul Davis <pbd@op.net>
--------------------------------------------------------------------------
此差异已折叠。
......@@ -395,16 +395,6 @@ config SND_WAVEFRONT
To compile this driver as a module, choose M here: the module
will be called snd-wavefront.
config SND_WAVEFRONT_FIRMWARE_IN_KERNEL
bool "In-kernel firmware for Wavefront"
depends on SND_WAVEFRONT
default y
help
Say Y here to include the static firmware for FX DSP built in
the kernel for the Wavefront driver. If you choose N here,
you need to install the firmware files from the
alsa-firmware package.
config SND_MSND_PINNACLE
tristate "Turtle Beach MultiSound Pinnacle/Fiji driver"
depends on X86 && EXPERIMENTAL
......
......@@ -34,14 +34,6 @@
#define WAIT_IDLE 0xff
#ifdef CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL
#include "yss225.c"
static const struct firmware yss225_registers_firmware = {
.data = (u8 *)yss225_registers,
.size = sizeof yss225_registers
};
#endif
static int
wavefront_fx_idle (snd_wavefront_t *dev)
......@@ -260,16 +252,12 @@ snd_wavefront_fx_start (snd_wavefront_t *dev)
if (dev->fx_initialized)
return 0;
#ifdef CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL
firmware = &yss225_registers_firmware;
#else
err = request_firmware(&firmware, "yamaha/yss225_registers.bin",
dev->card->dev);
if (err < 0) {
err = -1;
goto out;
}
#endif
for (i = 0; i + 1 < firmware->size; i += 2) {
if (firmware->data[i] >= 8 && firmware->data[i] < 16) {
......@@ -292,12 +280,8 @@ snd_wavefront_fx_start (snd_wavefront_t *dev)
err = 0;
out:
#ifndef CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL
release_firmware(firmware);
#endif
return err;
}
#ifndef CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL
MODULE_FIRMWARE("yamaha/yss225_registers.bin");
#endif
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册