OSDN Git Service

[media] cx25821: remove video output support
authorHans Verkuil <hans.verkuil@cisco.com>
Fri, 12 Dec 2014 13:28:00 +0000 (10:28 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 23 Dec 2014 12:22:00 +0000 (10:22 -0200)
The video output functionality never worked for this driver. Now remove the
creation of the output video nodes as well to prevent users from thinking
that video output is available, when it isn't.

To correctly implement this the video output should use vb2 as well, and
that requires rewriting the output DMA setup. But without hardware to test
I am not able to do that.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/pci/cx25821/Makefile
drivers/media/pci/cx25821/cx25821-core.c
drivers/media/pci/cx25821/cx25821-video.c
drivers/media/pci/cx25821/cx25821.h

index 5872feb..c8f8598 100644 (file)
@@ -1,6 +1,6 @@
 cx25821-y   := cx25821-core.o cx25821-cards.o cx25821-i2c.o \
                       cx25821-gpio.o cx25821-medusa-video.o \
-                      cx25821-video.o cx25821-video-upstream.o
+                      cx25821-video.o
 
 obj-$(CONFIG_VIDEO_CX25821) += cx25821.o
 obj-$(CONFIG_VIDEO_CX25821_ALSA) += cx25821-alsa.o
index c1ea24e..559f829 100644 (file)
@@ -965,11 +965,15 @@ void cx25821_dev_unregister(struct cx25821_dev *dev)
 
        release_mem_region(dev->base_io_addr, pci_resource_len(dev->pci, 0));
 
-       for (i = 0; i < MAX_VID_CHANNEL_NUM - 1; i++) {
+       for (i = 0; i < MAX_VID_CAP_CHANNEL_NUM - 1; i++) {
                if (i == SRAM_CH08) /* audio channel */
                        continue;
+               /*
+                * TODO: enable when video output is properly
+                * supported.
                if (i == SRAM_CH09 || i == SRAM_CH10)
                        cx25821_free_mem_upstream(&dev->channels[i]);
+                */
                cx25821_video_unregister(dev, i);
        }
 
index 827c3c0..7bc495e 100644 (file)
@@ -692,7 +692,7 @@ int cx25821_video_register(struct cx25821_dev *dev)
 
        spin_lock_init(&dev->slock);
 
-       for (i = 0; i < MAX_VID_CHANNEL_NUM - 1; ++i) {
+       for (i = 0; i < MAX_VID_CAP_CHANNEL_NUM - 1; ++i) {
                struct cx25821_channel *chan = &dev->channels[i];
                struct video_device *vdev = &chan->vdev;
                struct v4l2_ctrl_handler *hdl = &chan->hdl;
index 34c5ff1..d81a08a 100644 (file)
 
 #define CX25821_BOARD_CONEXANT_ATHENA10 1
 #define MAX_VID_CHANNEL_NUM     12
+
+/*
+ * Maximum capture-only channels. This can go away once video/audio output
+ * is fully supported in this driver.
+ */
+#define MAX_VID_CAP_CHANNEL_NUM     10
+
 #define VID_CHANNEL_NUM 8
 
 struct cx25821_fmt {