summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/Documentation/video4linux/CARDLIST.em28xx3
-rw-r--r--linux/drivers/media/video/bt8xx/bttv-driver.c6
-rw-r--r--linux/drivers/media/video/cafe_ccic.c6
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-core.c4
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-video.c2
-rw-r--r--linux/drivers/media/video/saa7134/saa7134.h4
-rwxr-xr-xv4l/scripts/em28xx.pl13
-rw-r--r--v4l2-apps/util/v4l2-ctl.cpp6
8 files changed, 21 insertions, 23 deletions
diff --git a/linux/Documentation/video4linux/CARDLIST.em28xx b/linux/Documentation/video4linux/CARDLIST.em28xx
index a3026689b..37f0e3ced 100644
--- a/linux/Documentation/video4linux/CARDLIST.em28xx
+++ b/linux/Documentation/video4linux/CARDLIST.em28xx
@@ -8,4 +8,7 @@
7 -> Leadtek Winfast USB II (em2800)
8 -> Kworld USB2800 (em2800)
9 -> Pinnacle Dazzle DVC 90 (em2820/em2840) [2304:0207]
+ 10 -> Hauppauge WinTV HVR 900 (em2880)
+ 11 -> Terratec Hybrid XS (em2880)
12 -> Kworld PVR TV 2800 RF (em2820/em2840)
+ 13 -> Terratec Prodigy XS (em2880)
diff --git a/linux/drivers/media/video/bt8xx/bttv-driver.c b/linux/drivers/media/video/bt8xx/bttv-driver.c
index d573ae72c..37db47ecc 100644
--- a/linux/drivers/media/video/bt8xx/bttv-driver.c
+++ b/linux/drivers/media/video/bt8xx/bttv-driver.c
@@ -2922,10 +2922,6 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
if (NULL == fmt)
return -EINVAL;
mutex_lock(&fh->cap.lock);
- if (fmt->depth != pic->depth) {
- retval = -EINVAL;
- goto fh_unlock_and_return;
- }
if (fmt->flags & FORMAT_FLAGS_RAW) {
/* VIDIOCMCAPTURE uses gbufsize, not RAW_BPL *
RAW_LINES * 2. F1 is stored at offset 0, F2
@@ -3158,6 +3154,8 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
vm->width,vm->height,field);
if (0 != retval)
goto fh_unlock_and_return;
+ btv->init.width = vm->width;
+ btv->init.height = vm->height;
spin_lock_irqsave(&btv->s_lock,flags);
buffer_queue(&fh->cap,&buf->vb);
spin_unlock_irqrestore(&btv->s_lock,flags);
diff --git a/linux/drivers/media/video/cafe_ccic.c b/linux/drivers/media/video/cafe_ccic.c
index aed6ab229..9c9a33be6 100644
--- a/linux/drivers/media/video/cafe_ccic.c
+++ b/linux/drivers/media/video/cafe_ccic.c
@@ -3,6 +3,9 @@
* multifunction chip. Currently works with the Omnivision OV7670
* sensor.
*
+ * The data sheet for this device can be found at:
+ * http://www.marvell.com/products/pcconn/88ALP01.jsp
+ *
* Copyright 2006 One Laptop Per Child Association, Inc.
* Copyright 2006-7 Jonathan Corbet <corbet@lwn.net>
*
@@ -2239,13 +2242,16 @@ static int cafe_pci_suspend(struct pci_dev *pdev, pm_message_t state)
{
struct cafe_camera *cam = cafe_find_by_pdev(pdev);
int ret;
+ enum cafe_state cstate;
ret = pci_save_state(pdev);
if (ret)
return ret;
+ cstate = cam->state; /* HACK - stop_dma sets to idle */
cafe_ctlr_stop_dma(cam);
cafe_ctlr_power_down(cam);
pci_disable_device(pdev);
+ cam->state = cstate;
return 0;
}
diff --git a/linux/drivers/media/video/saa7134/saa7134-core.c b/linux/drivers/media/video/saa7134/saa7134-core.c
index 6559c80cc..d39005392 100644
--- a/linux/drivers/media/video/saa7134/saa7134-core.c
+++ b/linux/drivers/media/video/saa7134/saa7134-core.c
@@ -477,8 +477,8 @@ void saa7134_buffer_timeout(unsigned long data)
/* resends a current buffer in queue after resume */
-int saa7134_buffer_requeue(struct saa7134_dev *dev,
- struct saa7134_dmaqueue *q)
+static int saa7134_buffer_requeue(struct saa7134_dev *dev,
+ struct saa7134_dmaqueue *q)
{
struct saa7134_buf *buf, *next;
diff --git a/linux/drivers/media/video/saa7134/saa7134-video.c b/linux/drivers/media/video/saa7134/saa7134-video.c
index 646e10e43..82fd1c7ac 100644
--- a/linux/drivers/media/video/saa7134/saa7134-video.c
+++ b/linux/drivers/media/video/saa7134/saa7134-video.c
@@ -540,7 +540,7 @@ void res_free(struct saa7134_dev *dev, struct saa7134_fh *fh, unsigned int bits)
/* ------------------------------------------------------------------ */
-void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm)
+static void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm)
{
dprintk("set tv norm = %s\n",norm->name);
diff --git a/linux/drivers/media/video/saa7134/saa7134.h b/linux/drivers/media/video/saa7134/saa7134.h
index 3669a6c5a..23b4f2499 100644
--- a/linux/drivers/media/video/saa7134/saa7134.h
+++ b/linux/drivers/media/video/saa7134/saa7134.h
@@ -617,9 +617,6 @@ void saa7134_buffer_next(struct saa7134_dev *dev, struct saa7134_dmaqueue *q);
void saa7134_buffer_timeout(unsigned long data);
void saa7134_dma_free(struct videobuf_queue *q,struct saa7134_buf *buf);
-int saa7134_buffer_requeue(struct saa7134_dev *dev,
- struct saa7134_dmaqueue *q);
-
int saa7134_set_dmabits(struct saa7134_dev *dev);
extern int (*saa7134_dmasound_init)(struct saa7134_dev *dev);
@@ -652,7 +649,6 @@ void saa7134_i2c_call_clients(struct saa7134_dev *dev,
extern struct video_device saa7134_video_template;
extern struct video_device saa7134_radio_template;
-void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm);
int saa7134_videoport_init(struct saa7134_dev *dev);
void saa7134_set_tvnorm_hw(struct saa7134_dev *dev);
diff --git a/v4l/scripts/em28xx.pl b/v4l/scripts/em28xx.pl
index 278dfc214..9a97def2a 100755
--- a/v4l/scripts/em28xx.pl
+++ b/v4l/scripts/em28xx.pl
@@ -8,11 +8,7 @@ my %data;
while (<>) {
# defines in header file
- if (/#define\s+(EM2820_BOARD_\w+)\s+(\d+)/) {
- $data{$1}->{nr} = $2;
- next;
- }
- if (/#define\s+(EM2800_BOARD_\w+)\s+(\d+)/) {
+ if (/#define\s+(EM28[\d]._BOARD_\w+)\s+(\d+)/) {
$data{$1}->{nr} = $2;
next;
}
@@ -22,11 +18,10 @@ while (<>) {
$data{$id}->{id} = $id;
$data{$id}->{type} = "(em2820/em2840)";
# $data{$id}->{nr} = $nr++;
- };
- if (/\[(EM2800_BOARD_\w+)\]/) {
- $id = $1;
+ } elsif (/\[(EM)(28[\d].)(_BOARD_\w+)\]/) {
+ $id = "$1$2$3";
$data{$id}->{id} = $id;
- $data{$id}->{type} = "(em2800)";
+ $data{$id}->{type} = "(em$2)";
# $data{$id}->{nr} = $nr++;
};
diff --git a/v4l2-apps/util/v4l2-ctl.cpp b/v4l2-apps/util/v4l2-ctl.cpp
index 9c1035833..198118ac6 100644
--- a/v4l2-apps/util/v4l2-ctl.cpp
+++ b/v4l2-apps/util/v4l2-ctl.cpp
@@ -509,7 +509,7 @@ static void print_qctrl(int fd, struct v4l2_queryctrl *queryctrl,
ctrl->value);
break;
case V4L2_CTRL_TYPE_INTEGER64:
- printf("%31s (int64): value=%lld", queryctrl->name, ctrl->value64);
+ printf("%31s (int64): value=%lld", s.c_str(), ctrl->value64);
break;
case V4L2_CTRL_TYPE_BOOLEAN:
printf("%31s (bool) : default=%d value=%d",
@@ -2159,7 +2159,7 @@ int main(int argc, char **argv)
if (options[OptGetSlicedVbiCap]) {
struct v4l2_sliced_vbi_cap cap;
- cap.type = V4L2_BUF_TYPE_VBI_CAPTURE;
+ cap.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
if (doioctl(fd, VIDIOC_G_SLICED_VBI_CAP, &cap, "VIDIOC_G_SLICED_VBI_CAP") == 0) {
print_sliced_vbi_cap(cap);
}
@@ -2168,7 +2168,7 @@ int main(int argc, char **argv)
if (options[OptGetSlicedVbiOutCap]) {
struct v4l2_sliced_vbi_cap cap;
- cap.type = V4L2_BUF_TYPE_VBI_OUTPUT;
+ cap.type = V4L2_BUF_TYPE_SLICED_VBI_OUTPUT;
if (doioctl(fd, VIDIOC_G_SLICED_VBI_CAP, &cap, "VIDIOC_G_SLICED_VBI_CAP") == 0) {
print_sliced_vbi_cap(cap);
}