Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 330733
b: refs/heads/master
c: 77fc286
h: refs/heads/master
i:
  330731: 33c07d8
v: v3
  • Loading branch information
Devin Heitmueller authored and Mauro Carvalho Chehab committed Aug 11, 2012
1 parent ecb00a6 commit 0430390
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 29 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: 1240ad56edfdd9ccc70d9cbce6da7d5d939d5e83
refs/heads/master: 77fc286328e6fd9a80ef8ce6963db7fbf4e07a1a
40 changes: 12 additions & 28 deletions trunk/drivers/media/video/au0828/au0828-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,12 @@ static int recv_control_msg(struct au0828_dev *dev, u16 request, u32 value,

u32 au0828_readreg(struct au0828_dev *dev, u16 reg)
{
recv_control_msg(dev, CMD_REQUEST_IN, 0, reg, dev->ctrlmsg, 1);
dprintk(8, "%s(0x%04x) = 0x%02x\n", __func__, reg, dev->ctrlmsg[0]);
return dev->ctrlmsg[0];
u8 result = 0;

recv_control_msg(dev, CMD_REQUEST_IN, 0, reg, &result, 1);
dprintk(8, "%s(0x%04x) = 0x%02x\n", __func__, reg, result);

return result;
}

u32 au0828_writereg(struct au0828_dev *dev, u16 reg, u32 val)
Expand All @@ -67,24 +70,6 @@ u32 au0828_writereg(struct au0828_dev *dev, u16 reg, u32 val)
return send_control_msg(dev, CMD_REQUEST_OUT, val, reg);
}

static void cmd_msg_dump(struct au0828_dev *dev)
{
int i;

for (i = 0; i < sizeof(dev->ctrlmsg); i += 16)
dprintk(2, "%s() %02x %02x %02x %02x %02x %02x %02x %02x "
"%02x %02x %02x %02x %02x %02x %02x %02x\n",
__func__,
dev->ctrlmsg[i+0], dev->ctrlmsg[i+1],
dev->ctrlmsg[i+2], dev->ctrlmsg[i+3],
dev->ctrlmsg[i+4], dev->ctrlmsg[i+5],
dev->ctrlmsg[i+6], dev->ctrlmsg[i+7],
dev->ctrlmsg[i+8], dev->ctrlmsg[i+9],
dev->ctrlmsg[i+10], dev->ctrlmsg[i+11],
dev->ctrlmsg[i+12], dev->ctrlmsg[i+13],
dev->ctrlmsg[i+14], dev->ctrlmsg[i+15]);
}

static int send_control_msg(struct au0828_dev *dev, u16 request, u32 value,
u16 index)
{
Expand Down Expand Up @@ -118,24 +103,23 @@ static int recv_control_msg(struct au0828_dev *dev, u16 request, u32 value,
int status = -ENODEV;
mutex_lock(&dev->mutex);
if (dev->usbdev) {

memset(dev->ctrlmsg, 0, sizeof(dev->ctrlmsg));

/* cp must be memory that has been allocated by kmalloc */
status = usb_control_msg(dev->usbdev,
usb_rcvctrlpipe(dev->usbdev, 0),
request,
USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
value, index,
cp, size, 1000);
dev->ctrlmsg, size, 1000);

status = min(status, 0);

if (status < 0) {
printk(KERN_ERR "%s() Failed receiving control message, error %d.\n",
__func__, status);
} else
cmd_msg_dump(dev);
}

/* the host controller requires heap allocated memory, which
is why we didn't just pass "cp" into usb_control_msg */
memcpy(cp, dev->ctrlmsg, size);
}
mutex_unlock(&dev->mutex);
return status;
Expand Down

0 comments on commit 0430390

Please sign in to comment.