Commit fa285bc1 authored by Istvan Varga's avatar Istvan Varga Committed by Mauro Carvalho Chehab

[media] xc4000: added firmware_name parameter

The firmware_name module parameter makes it possible to set the firmware
file name. It defaults to "xc4000.fw" if not specified.
Signed-off-by: default avatarIstvan Varga <istvan_v@mailbox.hu>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 1368ceb2
...@@ -47,16 +47,20 @@ MODULE_PARM_DESC(no_poweroff, "0 (default) powers device off when not used.\n" ...@@ -47,16 +47,20 @@ MODULE_PARM_DESC(no_poweroff, "0 (default) powers device off when not used.\n"
"\t\t1 keep device energized and with tuner ready all the times.\n" "\t\t1 keep device energized and with tuner ready all the times.\n"
"\t\tFaster, but consumes more power and keeps the device hotter"); "\t\tFaster, but consumes more power and keeps the device hotter");
#define XC4000_DEFAULT_FIRMWARE "xc4000.fw"
static char firmware_name[30];
module_param_string(firmware_name, firmware_name, sizeof(firmware_name), 0);
MODULE_PARM_DESC(firmware_name, "\n\t\tFirmware file name. Allows overriding "
"the default firmware\n"
"\t\tname.");
static DEFINE_MUTEX(xc4000_list_mutex); static DEFINE_MUTEX(xc4000_list_mutex);
static LIST_HEAD(hybrid_tuner_instance_list); static LIST_HEAD(hybrid_tuner_instance_list);
#define dprintk(level, fmt, arg...) if (debug >= level) \ #define dprintk(level, fmt, arg...) if (debug >= level) \
printk(KERN_INFO "%s: " fmt, "xc4000", ## arg) printk(KERN_INFO "%s: " fmt, "xc4000", ## arg)
/* Note that the last version digit is my internal build number (so I can
rev the firmware even if the core Xceive firmware was unchanged) */
#define XC4000_DEFAULT_FIRMWARE "dvb-fe-xc4000-1.4.1.fw"
/* struct for storing firmware table */ /* struct for storing firmware table */
struct firmware_description { struct firmware_description {
unsigned int type; unsigned int type;
...@@ -715,7 +719,10 @@ static int xc4000_fwupload(struct dvb_frontend *fe) ...@@ -715,7 +719,10 @@ static int xc4000_fwupload(struct dvb_frontend *fe)
char name[33]; char name[33];
const char *fname; const char *fname;
fname = XC4000_DEFAULT_FIRMWARE; if (firmware_name[0] != '\0')
fname = firmware_name;
else
fname = XC4000_DEFAULT_FIRMWARE;
printk("Reading firmware %s\n", fname); printk("Reading firmware %s\n", fname);
rc = request_firmware(&fw, fname, priv->i2c_props.adap->dev.parent); rc = request_firmware(&fw, fname, priv->i2c_props.adap->dev.parent);
......
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