[media] af9035: select firmware loader according to firmware

AF9035 and IT9135 supports two different firmware format. Select
correct loader according to first byte of firmware file.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Antti Palosaari 2013-03-07 17:59:55 -03:00 committed by Mauro Carvalho Chehab
parent 9d7b848e43
commit 8229da5064

View File

@ -344,7 +344,7 @@ static int af9035_identify_state(struct dvb_usb_device *d, const char **name)
return ret;
}
static int af9035_download_firmware_af9035(struct dvb_usb_device *d,
static int af9035_download_firmware_old(struct dvb_usb_device *d,
const struct firmware *fw)
{
int ret, i, j, len;
@ -430,7 +430,7 @@ static int af9035_download_firmware_af9035(struct dvb_usb_device *d,
return ret;
}
static int af9035_download_firmware_it9135(struct dvb_usb_device *d,
static int af9035_download_firmware_new(struct dvb_usb_device *d,
const struct firmware *fw)
{
int ret, i, i_prev;
@ -540,10 +540,10 @@ static int af9035_download_firmware(struct dvb_usb_device *d,
}
}
if (state->chip_type == 0x9135)
ret = af9035_download_firmware_it9135(d, fw);
if (fw->data[0] == 0x01)
ret = af9035_download_firmware_old(d, fw);
else
ret = af9035_download_firmware_af9035(d, fw);
ret = af9035_download_firmware_new(d, fw);
if (ret < 0)
goto err;