Skip to content

Commit

Permalink
[media] af9035: minor changes for af9035_fc0011_tuner_callback()
Browse files Browse the repository at this point in the history
Change function to use same logic than existing functions.
Debugs log writings are done in error case, earlier it was
just returning error code.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Apr 9, 2012
1 parent dbac01f commit daacd5b
Showing 1 changed file with 46 additions and 30 deletions.
76 changes: 46 additions & 30 deletions drivers/media/dvb/dvb-usb/af9035.c
Original file line number Diff line number Diff line change
Expand Up @@ -663,52 +663,68 @@ static int af9035_read_mac_address_it9135(struct dvb_usb_device *d, u8 mac[6])
}

static int af9035_fc0011_tuner_callback(struct dvb_usb_device *d,
int cmd, int arg)
int cmd, int arg)
{
int err;
int ret;

switch (cmd) {
case FC0011_FE_CALLBACK_POWER:
/* Tuner enable */
err = af9035_wr_reg_mask(d, 0xd8eb, 1, 1);
if (err)
return err;
err = af9035_wr_reg_mask(d, 0xd8ec, 1, 1);
if (err)
return err;
err = af9035_wr_reg_mask(d, 0xd8ed, 1, 1);
if (err)
return err;
ret = af9035_wr_reg_mask(d, 0xd8eb, 1, 1);
if (ret < 0)
goto err;

ret = af9035_wr_reg_mask(d, 0xd8ec, 1, 1);
if (ret < 0)
goto err;

ret = af9035_wr_reg_mask(d, 0xd8ed, 1, 1);
if (ret < 0)
goto err;

/* LED */
err = af9035_wr_reg_mask(d, 0xd8d0, 1, 1);
if (err)
return err;
err = af9035_wr_reg_mask(d, 0xd8d1, 1, 1);
if (err)
return err;
ret = af9035_wr_reg_mask(d, 0xd8d0, 1, 1);
if (ret < 0)
goto err;

ret = af9035_wr_reg_mask(d, 0xd8d1, 1, 1);
if (ret < 0)
goto err;

usleep_range(10000, 50000);
break;
case FC0011_FE_CALLBACK_RESET:
err = af9035_wr_reg(d, 0xd8e9, 1);
if (err)
return err;
err = af9035_wr_reg(d, 0xd8e8, 1);
if (err)
return err;
err = af9035_wr_reg(d, 0xd8e7, 1);
if (err)
return err;
ret = af9035_wr_reg(d, 0xd8e9, 1);
if (ret < 0)
goto err;

ret = af9035_wr_reg(d, 0xd8e8, 1);
if (ret < 0)
goto err;

ret = af9035_wr_reg(d, 0xd8e7, 1);
if (ret < 0)
goto err;

usleep_range(10000, 20000);
err = af9035_wr_reg(d, 0xd8e7, 0);
if (err)
return err;

ret = af9035_wr_reg(d, 0xd8e7, 0);
if (ret < 0)
goto err;

usleep_range(10000, 20000);
break;
default:
return -EINVAL;
ret = -EINVAL;
goto err;
}

return 0;

err:
pr_debug("%s: failed=%d\n", __func__, ret);

return ret;
}

static int af9035_tuner_callback(struct dvb_usb_device *d, int cmd, int arg)
Expand Down

0 comments on commit daacd5b

Please sign in to comment.