···1919#include <linux/errno.h>2020#include <linux/jiffies.h>2121#include <linux/mutex.h>2222+#include <linux/firmware.h>22232324#include "dvb_frontend.h"2425#include "dmxdev.h"···286285 return i;287286}288287289289-#include "dvb-ttusb-dspbootcode.h"290290-291288static int ttusb_boot_dsp(struct ttusb *ttusb)292289{290290+ const struct firmware *fw;293291 int i, err;294292 u8 b[40];293293+294294+ err = request_firmware(&fw, "ttusb-budget/dspbootcode.bin",295295+ &ttusb->dev->dev);296296+ if (err) {297297+ printk(KERN_ERR "ttusb-budget: failed to request firmware\n");298298+ return err;299299+ }295300296301 /* BootBlock */297302 b[0] = 0xaa;···306299307300 /* upload dsp code in 32 byte steps (36 didn't work for me ...) */308301 /* 32 is max packet size, no messages should be splitted. */309309- for (i = 0; i < sizeof(dsp_bootcode); i += 28) {310310- memcpy(&b[4], &dsp_bootcode[i], 28);302302+ for (i = 0; i < fw->size; i += 28) {303303+ memcpy(&b[4], &fw->data[i], 28);311304312305 b[1] = ++ttusb->c;313306···18271820MODULE_AUTHOR("Holger Waechtler <holger@convergence.de>");18281821MODULE_DESCRIPTION("TTUSB DVB Driver");18291822MODULE_LICENSE("GPL");18231823+MODULE_FIRMWARE("ttusb-budget/dspbootcode.bin");
···2020# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all).2121# But be aware that the config file might not be included at all.22222323+fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin2324fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin2425fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp2526fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \
+10
firmware/WHENCE
···7070Found in hex form in the kernel source.71717272--------------------------------------------------------------------------7373+7474+Driver: ttusb-budget -- Technotrend/Hauppauge Nova-USB devices7575+7676+File: ttusb-budget/dspbootcode.bin7777+7878+Licence: Unknown7979+8080+Found in hex form in the kernel source.8181+8282+--------------------------------------------------------------------------