Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 202131
b: refs/heads/master
c: 17f93e1
h: refs/heads/master
i:
  202129: ce77787
  202127: ff7c392
v: v3
  • Loading branch information
Michael Krufky authored and Mauro Carvalho Chehab committed Aug 2, 2010
1 parent 3c3bce4 commit e671470
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 49 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7e48b30af033076c85ab48a8306b5588faf5fb4b
refs/heads/master: 17f93e1e3b8aabab6f9b6aa783203fa555ad26ca
55 changes: 7 additions & 48 deletions trunk/drivers/media/dvb/dvb-usb/af9005.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,50 +54,6 @@ struct af9005_device_state {
int led_state;
};

static int af9005_usb_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen,
u8 *rbuf, u16 rlen, int delay_ms)
{
int actlen, ret = -ENOMEM;

if (wbuf == NULL || wlen == 0)
return -EINVAL;

if ((ret = mutex_lock_interruptible(&d->usb_mutex)))
return ret;

deb_xfer(">>> ");
debug_dump(wbuf, wlen, deb_xfer);

ret = usb_bulk_msg(d->udev, usb_sndbulkpipe(d->udev,
2), wbuf, wlen,
&actlen, 2000);

if (ret)
err("bulk message failed: %d (%d/%d)", ret, wlen, actlen);
else
ret = actlen != wlen ? -1 : 0;

/* an answer is expected, and no error before */
if (!ret && rbuf && rlen) {
if (delay_ms)
msleep(delay_ms);

ret = usb_bulk_msg(d->udev, usb_rcvbulkpipe(d->udev,
0x01), rbuf,
rlen, &actlen, 2000);

if (ret)
err("recv bulk message failed: %d", ret);
else {
deb_xfer("<<< ");
debug_dump(rbuf, actlen, deb_xfer);
}
}

mutex_unlock(&d->usb_mutex);
return ret;
}

static int af9005_generic_read_write(struct dvb_usb_device *d, u16 reg,
int readwrite, int type, u8 * values, int len)
{
Expand Down Expand Up @@ -146,7 +102,7 @@ static int af9005_generic_read_write(struct dvb_usb_device *d, u16 reg,
obuf[8] = values[0];
obuf[7] = command;

ret = af9005_usb_generic_rw(d, obuf, 16, ibuf, 17, 0);
ret = dvb_usb_generic_rw(d, obuf, 16, ibuf, 17, 0);
if (ret)
return ret;

Expand Down Expand Up @@ -534,7 +490,7 @@ int af9005_send_command(struct dvb_usb_device *d, u8 command, u8 * wbuf,
buf[6] = wlen;
for (i = 0; i < wlen; i++)
buf[7 + i] = wbuf[i];
ret = af9005_usb_generic_rw(d, buf, wlen + 7, ibuf, rlen + 7, 0);
ret = dvb_usb_generic_rw(d, buf, wlen + 7, ibuf, rlen + 7, 0);
if (ret)
return ret;
if (ibuf[2] != 0x27) {
Expand Down Expand Up @@ -581,7 +537,7 @@ int af9005_read_eeprom(struct dvb_usb_device *d, u8 address, u8 * values,

obuf[6] = len;
obuf[7] = address;
ret = af9005_usb_generic_rw(d, obuf, 16, ibuf, 14, 0);
ret = dvb_usb_generic_rw(d, obuf, 16, ibuf, 14, 0);
if (ret)
return ret;
if (ibuf[2] != 0x2b) {
Expand Down Expand Up @@ -882,7 +838,7 @@ static int af9005_rc_query(struct dvb_usb_device *d, u32 * event, int *state)
obuf[2] = 0x40; /* read remote */
obuf[3] = 1; /* rest of packet length */
obuf[4] = st->sequence++; /* sequence number */
ret = af9005_usb_generic_rw(d, obuf, 5, ibuf, 256, 0);
ret = dvb_usb_generic_rw(d, obuf, 5, ibuf, 256, 0);
if (ret) {
err("rc query failed");
return ret;
Expand Down Expand Up @@ -1074,6 +1030,9 @@ static struct dvb_usb_device_properties af9005_properties = {
.rc_key_map_size = 0,
.rc_query = af9005_rc_query,

.generic_bulk_ctrl_endpoint = 2,
.generic_bulk_ctrl_endpoint_response = 1,

.num_device_descs = 3,
.devices = {
{.name = "Afatech DVB-T USB1.1 stick",
Expand Down

0 comments on commit e671470

Please sign in to comment.