Commit 0a2a736a authored by David Woodhouse's avatar David Woodhouse Committed by David Woodhouse

ttusb-budget: use request_firmware()

Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
Acked-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 79682499
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/jiffies.h> #include <linux/jiffies.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/firmware.h>
#include "dvb_frontend.h" #include "dvb_frontend.h"
#include "dmxdev.h" #include "dmxdev.h"
...@@ -285,13 +286,19 @@ static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, int num ...@@ -285,13 +286,19 @@ static int master_xfer(struct i2c_adapter* adapter, struct i2c_msg *msg, int num
return i; return i;
} }
#include "dvb-ttusb-dspbootcode.h"
static int ttusb_boot_dsp(struct ttusb *ttusb) static int ttusb_boot_dsp(struct ttusb *ttusb)
{ {
const struct firmware *fw;
int i, err; int i, err;
u8 b[40]; u8 b[40];
err = request_firmware(&fw, "ttusb-budget/dspbootcode.bin",
&ttusb->dev->dev);
if (err) {
printk(KERN_ERR "ttusb-budget: failed to request firmware\n");
return err;
}
/* BootBlock */ /* BootBlock */
b[0] = 0xaa; b[0] = 0xaa;
b[2] = 0x13; b[2] = 0x13;
...@@ -299,8 +306,8 @@ static int ttusb_boot_dsp(struct ttusb *ttusb) ...@@ -299,8 +306,8 @@ static int ttusb_boot_dsp(struct ttusb *ttusb)
/* upload dsp code in 32 byte steps (36 didn't work for me ...) */ /* upload dsp code in 32 byte steps (36 didn't work for me ...) */
/* 32 is max packet size, no messages should be splitted. */ /* 32 is max packet size, no messages should be splitted. */
for (i = 0; i < sizeof(dsp_bootcode); i += 28) { for (i = 0; i < fw->size; i += 28) {
memcpy(&b[4], &dsp_bootcode[i], 28); memcpy(&b[4], &fw->data[i], 28);
b[1] = ++ttusb->c; b[1] = ++ttusb->c;
...@@ -1820,3 +1827,4 @@ module_exit(ttusb_exit); ...@@ -1820,3 +1827,4 @@ module_exit(ttusb_exit);
MODULE_AUTHOR("Holger Waechtler <holger@convergence.de>"); MODULE_AUTHOR("Holger Waechtler <holger@convergence.de>");
MODULE_DESCRIPTION("TTUSB DVB Driver"); MODULE_DESCRIPTION("TTUSB DVB Driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_FIRMWARE("ttusb-budget/dspbootcode.bin");
This diff is collapsed.
...@@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE)) ...@@ -20,6 +20,7 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE))
# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all). # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all).
# But be aware that the config file might not be included at all. # But be aware that the config file might not be included at all.
fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin
fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp
fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \ fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \
......
...@@ -70,3 +70,13 @@ Licence: Unknown ...@@ -70,3 +70,13 @@ Licence: Unknown
Found in hex form in the kernel source. Found in hex form in the kernel source.
-------------------------------------------------------------------------- --------------------------------------------------------------------------
Driver: ttusb-budget -- Technotrend/Hauppauge Nova-USB devices
File: ttusb-budget/dspbootcode.bin
Licence: Unknown
Found in hex form in the kernel source.
--------------------------------------------------------------------------
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment