aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/af9013.c
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2011-03-19 17:18:18 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-22 04:55:01 -0300
commit109a29900a36b2b1e7b7f83a561c6af7e343461f (patch)
tree415b6225487712f66cb57ab2935796c468f39259 /drivers/media/dvb/frontends/af9013.c
parent[media] af9015: reimplement firmware download (diff)
downloadlinux-dev-109a29900a36b2b1e7b7f83a561c6af7e343461f.tar.xz
linux-dev-109a29900a36b2b1e7b7f83a561c6af7e343461f.zip
[media] af9013: download FW earlier in attach()
Quick test shows that FW must be running before other checks so make it happen earlier. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/af9013.c')
-rw-r--r--drivers/media/dvb/frontends/af9013.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/media/dvb/frontends/af9013.c b/drivers/media/dvb/frontends/af9013.c
index ba25fa0b0fc2..6f50f0673994 100644
--- a/drivers/media/dvb/frontends/af9013.c
+++ b/drivers/media/dvb/frontends/af9013.c
@@ -1466,20 +1466,6 @@ struct dvb_frontend *af9013_attach(const struct af9013_config *config,
state->i2c = i2c;
memcpy(&state->config, config, sizeof(struct af9013_config));
- /* chip version */
- ret = af9013_read_reg_bits(state, 0xd733, 4, 4, &buf[2]);
- if (ret)
- goto error;
-
- /* ROM version */
- for (i = 0; i < 2; i++) {
- ret = af9013_read_reg(state, 0x116b + i, &buf[i]);
- if (ret)
- goto error;
- }
- deb_info("%s: chip version:%d ROM version:%d.%d\n", __func__,
- buf[2], buf[0], buf[1]);
-
/* download firmware */
if (state->config.output_mode != AF9013_OUTPUT_MODE_USB) {
ret = af9013_download_firmware(state);
@@ -1495,6 +1481,20 @@ struct dvb_frontend *af9013_attach(const struct af9013_config *config,
}
info("firmware version:%d.%d.%d.%d", buf[0], buf[1], buf[2], buf[3]);
+ /* chip version */
+ ret = af9013_read_reg_bits(state, 0xd733, 4, 4, &buf[2]);
+ if (ret)
+ goto error;
+
+ /* ROM version */
+ for (i = 0; i < 2; i++) {
+ ret = af9013_read_reg(state, 0x116b + i, &buf[i]);
+ if (ret)
+ goto error;
+ }
+ deb_info("%s: chip version:%d ROM version:%d.%d\n", __func__,
+ buf[2], buf[0], buf[1]);
+
/* settings for mp2if */
if (state->config.output_mode == AF9013_OUTPUT_MODE_USB) {
/* AF9015 split PSB to 1.5k + 0.5k */