[media] drxk: Don't assume a default firmware name
Move the ngene/ddbridge firmware into their drivers.
There are two reasons for that:
1) The firmware used there didn't work for a few devices
I tested here (Terratec H5, H6 and H7);
2) At least Terratec H7 doesn't seem to require a firmware
for it to work.
After this change, if firmware is not specified, the driver will
use a rom-based firmware (this seems to be the case for Terratec
H7, although I need to better check the USB dumps to be sure about
that).
In any case, the firmware seems to be optional, as the DRX-K driver
don't return the firmware load error.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/dvb-usb/az6007.c b/drivers/media/dvb/dvb-usb/az6007.c
index bb597c6..523972f 100644
--- a/drivers/media/dvb/dvb-usb/az6007.c
+++ b/drivers/media/dvb/dvb-usb/az6007.c
@@ -55,7 +55,8 @@
.adr = 0x29,
.single_master = 1,
.no_i2c_bridge = 0,
- .microcode_name = "dvb-usb-terratec-h5-drxk.fw",
+ .max_size = 64,
+// .microcode_name = "dvb-usb-terratec-h5-drxk.fw",
};
static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
@@ -127,7 +128,8 @@
debug_dump(b, blen, deb_xfer);
if (blen > 64) {
- err("az6007: doesn't suport I2C transactions longer than 64 bytes\n");
+ err("az6007: tried to write %d bytes, but I2C max size is 64 bytes\n",
+ blen);
return -EOPNOTSUPP;
}
@@ -395,6 +397,7 @@
adap->fe2->tuner_priv = adap->fe->tuner_priv;
memcpy(&adap->fe2->ops.tuner_ops,
&adap->fe->ops.tuner_ops, sizeof(adap->fe->ops.tuner_ops));
+
return 0;
out_free:
@@ -572,7 +575,6 @@
.num_adapters = 1,
.adapter = {
{
- /* .caps = DVB_USB_ADAP_RECEIVES_204_BYTE_TS, */
.streaming_ctrl = az6007_streaming_ctrl,
.frontend_attach = az6007_frontend_attach,