]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.25/patches.drivers/0018-Staging-go7007-v4l-fixes.patch
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.drivers / 0018-Staging-go7007-v4l-fixes.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0018-Staging-go7007-v4l-fixes.patch b/src/patches/suse-2.6.27.25/patches.drivers/0018-Staging-go7007-v4l-fixes.patch
deleted file mode 100644 (file)
index 9c4e29c..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-From df20d69ec968b33526461457c219ad4ba8ba8ac8 Mon Sep 17 00:00:00 2001
-From: Ross Cohen <rcohen@snurgle.org>
-Date: Mon, 29 Sep 2008 22:36:24 -0400
-Subject: [PATCH 18/23] Staging: go7007 v4l fixes
-Patch-mainline: 2.6.28
-
-Fix up some of the v4l issues that were recently changed to make the
-go7007 driver a bit cleaner.
-
-
-From: Ross Cohen <rcohen@snurgle.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
----
- drivers/staging/go7007/go7007-driver.c  |    2 +-
- drivers/staging/go7007/go7007-v4l2.c    |   12 ++++--------
- drivers/staging/go7007/snd-go7007.c     |    4 ++--
- drivers/staging/go7007/wis-ov7640.c     |    3 +--
- drivers/staging/go7007/wis-saa7113.c    |   25 ++++++++++---------------
- drivers/staging/go7007/wis-saa7115.c    |   29 ++++++++++++++---------------
- drivers/staging/go7007/wis-sony-tuner.c |    3 ++-
- drivers/staging/go7007/wis-tw2804.c     |   29 ++++++++++++++---------------
- drivers/staging/go7007/wis-tw9903.c     |   21 ++++++++++-----------
- drivers/staging/go7007/wis-uda1342.c    |    2 +-
- 10 files changed, 59 insertions(+), 71 deletions(-)
-
-diff --git a/drivers/staging/go7007/go7007-driver.c b/drivers/staging/go7007/go7007-driver.c
-index 5a336ff..81ae4b0 100644
---- a/drivers/staging/go7007/go7007-driver.c
-+++ b/drivers/staging/go7007/go7007-driver.c
-@@ -31,7 +31,7 @@
- #include <linux/semaphore.h>
- #include <linux/uaccess.h>
- #include <asm/system.h>
--#include <linux/videodev.h>
-+#include <linux/videodev2.h>
- #include <media/tuner.h>
- #include <media/v4l2-common.h>
-diff --git a/drivers/staging/go7007/go7007-v4l2.c b/drivers/staging/go7007/go7007-v4l2.c
-index d54d019..94e1141 100644
---- a/drivers/staging/go7007/go7007-v4l2.c
-+++ b/drivers/staging/go7007/go7007-v4l2.c
-@@ -26,8 +26,7 @@
- #include <linux/time.h>
- #include <linux/vmalloc.h>
- #include <linux/pagemap.h>
--#include <linux/videodev.h>
--#include <linux/video_decoder.h>
-+#include <linux/videodev2.h>
- #include <media/v4l2-common.h>
- #include <media/v4l2-ioctl.h>
- #include <linux/i2c.h>
-@@ -835,7 +834,6 @@ static int go7007_do_ioctl(struct inode *inode, struct file *file,
-       case VIDIOC_S_STD:
-       {
-               v4l2_std_id *std = arg;
--              int norm;
-               if (go->streaming)
-                       return -EBUSY;
-@@ -856,20 +854,17 @@ static int go7007_do_ioctl(struct inode *inode, struct file *file,
-               if (*std & V4L2_STD_NTSC) {
-                       go->standard = GO7007_STD_NTSC;
-                       go->sensor_framerate = 30000;
--                      norm = VIDEO_MODE_NTSC;
-               } else if (*std & V4L2_STD_PAL) {
-                       go->standard = GO7007_STD_PAL;
-                       go->sensor_framerate = 25025;
--                      norm = VIDEO_MODE_PAL;
-               } else if (*std & V4L2_STD_SECAM) {
-                       go->standard = GO7007_STD_PAL;
-                       go->sensor_framerate = 25025;
--                      norm = VIDEO_MODE_SECAM;
-               } else
-                       return -EINVAL;
-               if (go->i2c_adapter_online)
-                       i2c_clients_command(&go->i2c_adapter,
--                                              DECODER_SET_NORM, &norm);
-+                                          VIDIOC_S_STD, std);
-               set_capture_size(go, NULL, 0);
-               return 0;
-       }
-@@ -933,7 +928,7 @@ static int go7007_do_ioctl(struct inode *inode, struct file *file,
-                       return -EBUSY;
-               go->input = *input;
-               if (go->i2c_adapter_online) {
--                      i2c_clients_command(&go->i2c_adapter, DECODER_SET_INPUT,
-+                      i2c_clients_command(&go->i2c_adapter, VIDIOC_S_INPUT,
-                               &go->board_info->inputs[*input].video_input);
-                       i2c_clients_command(&go->i2c_adapter, VIDIOC_S_AUDIO,
-                               &go->board_info->inputs[*input].audio_input);
-@@ -1459,6 +1454,7 @@ static struct file_operations go7007_fops = {
- static struct video_device go7007_template = {
-       .name           = "go7007",
-+      .vfl_type       = VID_TYPE_CAPTURE,
-       .fops           = &go7007_fops,
-       .minor          = -1,
-       .release        = go7007_vfl_release,
-diff --git a/drivers/staging/go7007/snd-go7007.c b/drivers/staging/go7007/snd-go7007.c
-index f5cac08..382740c 100644
---- a/drivers/staging/go7007/snd-go7007.c
-+++ b/drivers/staging/go7007/snd-go7007.c
-@@ -44,8 +44,8 @@ module_param_array(index, int, NULL, 0444);
- module_param_array(id, charp, NULL, 0444);
- module_param_array(enable, bool, NULL, 0444);
- MODULE_PARM_DESC(index, "Index value for the go7007 audio driver");
--MODULE_PARM_DESC(index, "ID string for the go7007 audio driver");
--MODULE_PARM_DESC(index, "Enable for the go7007 audio driver");
-+MODULE_PARM_DESC(id, "ID string for the go7007 audio driver");
-+MODULE_PARM_DESC(enable, "Enable for the go7007 audio driver");
- struct go7007_snd {
-       struct snd_card *card;
-diff --git a/drivers/staging/go7007/wis-ov7640.c b/drivers/staging/go7007/wis-ov7640.c
-index 815615a..f5f11e9 100644
---- a/drivers/staging/go7007/wis-ov7640.c
-+++ b/drivers/staging/go7007/wis-ov7640.c
-@@ -19,8 +19,7 @@
- #include <linux/init.h>
- #include <linux/version.h>
- #include <linux/i2c.h>
--#include <linux/videodev.h>
--#include <linux/video_decoder.h>
-+#include <linux/videodev2.h>
- #include "wis-i2c.h"
-diff --git a/drivers/staging/go7007/wis-saa7113.c b/drivers/staging/go7007/wis-saa7113.c
-index 4b14ca8..c1aff1b 100644
---- a/drivers/staging/go7007/wis-saa7113.c
-+++ b/drivers/staging/go7007/wis-saa7113.c
-@@ -19,8 +19,7 @@
- #include <linux/init.h>
- #include <linux/version.h>
- #include <linux/i2c.h>
--#include <linux/videodev.h>
--#include <linux/video_decoder.h>
-+#include <linux/videodev2.h>
- #include <linux/ioctl.h>
- #include "wis-i2c.h"
-@@ -124,7 +123,7 @@ static int wis_saa7113_command(struct i2c_client *client,
-       struct wis_saa7113 *dec = i2c_get_clientdata(client);
-       switch (cmd) {
--      case DECODER_SET_INPUT:
-+      case VIDIOC_S_INPUT:
-       {
-               int *input = arg;
-@@ -133,23 +132,19 @@ static int wis_saa7113_command(struct i2c_client *client,
-                               *input < 6 ? 0x40 : 0x80);
-               break;
-       }
--      case DECODER_SET_NORM:
-+      case VIDIOC_S_STD:
-       {
--              int *input = arg;
-+              v4l2_std_id *input = arg;
-               dec->norm = *input;
--              switch (dec->norm) {
--              case VIDEO_MODE_PAL:
--                      write_reg(client, 0x0e, 0x01);
--                      write_reg(client, 0x10, 0x48);
--                      break;
--              case VIDEO_MODE_NTSC:
-+              if (dec->norm & V4L2_STD_NTSC) {
-                       write_reg(client, 0x0e, 0x01);
-                       write_reg(client, 0x10, 0x40);
--                      break;
--              case VIDEO_MODE_SECAM:
-+              } else if (dec->norm & V4L2_STD_PAL) {
-+                      write_reg(client, 0x0e, 0x01);
-+                      write_reg(client, 0x10, 0x48);
-+              } else if (dec->norm * V4L2_STD_SECAM) {
-                       write_reg(client, 0x0e, 0x50);
-                       write_reg(client, 0x10, 0x48);
--                      break;
-               }
-               break;
-       }
-@@ -295,7 +290,7 @@ static int wis_saa7113_detect(struct i2c_adapter *adapter, int addr, int kind)
-               kfree(client);
-               return -ENOMEM;
-       }
--      dec->norm = VIDEO_MODE_NTSC;
-+      dec->norm = V4L2_STD_NTSC;
-       dec->brightness = 128;
-       dec->contrast = 71;
-       dec->saturation = 64;
-diff --git a/drivers/staging/go7007/wis-saa7115.c b/drivers/staging/go7007/wis-saa7115.c
-index bd40bf4..5c94c88 100644
---- a/drivers/staging/go7007/wis-saa7115.c
-+++ b/drivers/staging/go7007/wis-saa7115.c
-@@ -19,8 +19,7 @@
- #include <linux/init.h>
- #include <linux/version.h>
- #include <linux/i2c.h>
--#include <linux/videodev.h>
--#include <linux/video_decoder.h>
-+#include <linux/videodev2.h>
- #include <linux/ioctl.h>
- #include "wis-i2c.h"
-@@ -204,7 +203,7 @@ static int wis_saa7115_command(struct i2c_client *client,
-       struct wis_saa7115 *dec = i2c_get_clientdata(client);
-       switch (cmd) {
--      case DECODER_SET_INPUT:
-+      case VIDIOC_S_INPUT:
-       {
-               int *input = arg;
-@@ -222,7 +221,7 @@ static int wis_saa7115_command(struct i2c_client *client,
-               int h_scaling_increment = (704 / h_integer_scaler) *
-                                       1024 / res->width;
-               /* Fine-grained scaler only */
--              int v_scaling_increment = (dec->norm == VIDEO_MODE_NTSC ?
-+              int v_scaling_increment = (dec->norm & V4L2_STD_NTSC ?
-                               240 : 288) * 1024 / res->height;
-               u8 regs[] = {
-                       0x88,   0xc0,
-@@ -262,20 +261,20 @@ static int wis_saa7115_command(struct i2c_client *client,
-               write_regs(client, regs);
-               break;
-       }
--      case DECODER_SET_NORM:
-+      case VIDIOC_S_STD:
-       {
--              int *input = arg;
-+              v4l2_std_id *input = arg;
-               u8 regs[] = {
-                       0x88,   0xc0,
--                      0x98,   *input == VIDEO_MODE_NTSC ? 0x12 : 0x16,
--                      0x9a,   *input == VIDEO_MODE_NTSC ? 0xf2 : 0x20,
--                      0x9b,   *input == VIDEO_MODE_NTSC ? 0x00 : 0x01,
--                      0xc8,   *input == VIDEO_MODE_NTSC ? 0x12 : 0x16,
--                      0xca,   *input == VIDEO_MODE_NTSC ? 0xf2 : 0x20,
--                      0xcb,   *input == VIDEO_MODE_NTSC ? 0x00 : 0x01,
-+                      0x98,   *input & V4L2_STD_NTSC ? 0x12 : 0x16,
-+                      0x9a,   *input & V4L2_STD_NTSC ? 0xf2 : 0x20,
-+                      0x9b,   *input & V4L2_STD_NTSC ? 0x00 : 0x01,
-+                      0xc8,   *input & V4L2_STD_NTSC ? 0x12 : 0x16,
-+                      0xca,   *input & V4L2_STD_NTSC ? 0xf2 : 0x20,
-+                      0xcb,   *input & V4L2_STD_NTSC ? 0x00 : 0x01,
-                       0x88,   0xf0,
--                      0x30,   *input == VIDEO_MODE_NTSC ? 0x66 : 0x00,
--                      0x31,   *input == VIDEO_MODE_NTSC ? 0x90 : 0xe0,
-+                      0x30,   *input & V4L2_STD_NTSC ? 0x66 : 0x00,
-+                      0x31,   *input & V4L2_STD_NTSC ? 0x90 : 0xe0,
-                       0,      0,
-               };
-               write_regs(client, regs);
-@@ -424,7 +423,7 @@ static int wis_saa7115_detect(struct i2c_adapter *adapter, int addr, int kind)
-               kfree(client);
-               return -ENOMEM;
-       }
--      dec->norm = VIDEO_MODE_NTSC;
-+      dec->norm = V4L2_STD_NTSC;
-       dec->brightness = 128;
-       dec->contrast = 64;
-       dec->saturation = 64;
-diff --git a/drivers/staging/go7007/wis-sony-tuner.c b/drivers/staging/go7007/wis-sony-tuner.c
-index 82e66d6..5997fb4 100644
---- a/drivers/staging/go7007/wis-sony-tuner.c
-+++ b/drivers/staging/go7007/wis-sony-tuner.c
-@@ -19,9 +19,10 @@
- #include <linux/init.h>
- #include <linux/version.h>
- #include <linux/i2c.h>
--#include <linux/videodev.h>
-+#include <linux/videodev2.h>
- #include <media/tuner.h>
- #include <media/v4l2-common.h>
-+#include <media/v4l2-ioctl.h>
- #include "wis-i2c.h"
-diff --git a/drivers/staging/go7007/wis-tw2804.c b/drivers/staging/go7007/wis-tw2804.c
-index 69ed7bf..27fe4d0 100644
---- a/drivers/staging/go7007/wis-tw2804.c
-+++ b/drivers/staging/go7007/wis-tw2804.c
-@@ -19,8 +19,7 @@
- #include <linux/init.h>
- #include <linux/version.h>
- #include <linux/i2c.h>
--#include <linux/videodev.h>
--#include <linux/video_decoder.h>
-+#include <linux/videodev2.h>
- #include <linux/ioctl.h>
- #include "wis-i2c.h"
-@@ -159,20 +158,20 @@ static int wis_tw2804_command(struct i2c_client *client,
-       }
-       switch (cmd) {
--      case DECODER_SET_NORM:
-+      case VIDIOC_S_STD:
-       {
--              int *input = arg;
-+              v4l2_std_id *input = arg;
-               u8 regs[] = {
--                      0x01, *input == VIDEO_MODE_NTSC ? 0xc4 : 0x84,
--                      0x09, *input == VIDEO_MODE_NTSC ? 0x07 : 0x04,
--                      0x0a, *input == VIDEO_MODE_NTSC ? 0xf0 : 0x20,
--                      0x0b, *input == VIDEO_MODE_NTSC ? 0x07 : 0x04,
--                      0x0c, *input == VIDEO_MODE_NTSC ? 0xf0 : 0x20,
--                      0x0d, *input == VIDEO_MODE_NTSC ? 0x40 : 0x4a,
--                      0x16, *input == VIDEO_MODE_NTSC ? 0x00 : 0x40,
--                      0x17, *input == VIDEO_MODE_NTSC ? 0x00 : 0x40,
--                      0x20, *input == VIDEO_MODE_NTSC ? 0x07 : 0x0f,
--                      0x21, *input == VIDEO_MODE_NTSC ? 0x07 : 0x0f,
-+                      0x01, *input & V4L2_STD_NTSC ? 0xc4 : 0x84,
-+                      0x09, *input & V4L2_STD_NTSC ? 0x07 : 0x04,
-+                      0x0a, *input & V4L2_STD_NTSC ? 0xf0 : 0x20,
-+                      0x0b, *input & V4L2_STD_NTSC ? 0x07 : 0x04,
-+                      0x0c, *input & V4L2_STD_NTSC ? 0xf0 : 0x20,
-+                      0x0d, *input & V4L2_STD_NTSC ? 0x40 : 0x4a,
-+                      0x16, *input & V4L2_STD_NTSC ? 0x00 : 0x40,
-+                      0x17, *input & V4L2_STD_NTSC ? 0x00 : 0x40,
-+                      0x20, *input & V4L2_STD_NTSC ? 0x07 : 0x0f,
-+                      0x21, *input & V4L2_STD_NTSC ? 0x07 : 0x0f,
-                       0xff,   0xff,
-               };
-               write_regs(client, regs, dec->channel);
-@@ -322,7 +321,7 @@ static int wis_tw2804_detect(struct i2c_adapter *adapter, int addr, int kind)
-               return -ENOMEM;
-       }
-       dec->channel = -1;
--      dec->norm = VIDEO_MODE_NTSC;
-+      dec->norm = V4L2_STD_NTSC;
-       dec->brightness = 128;
-       dec->contrast = 128;
-       dec->saturation = 128;
-diff --git a/drivers/staging/go7007/wis-tw9903.c b/drivers/staging/go7007/wis-tw9903.c
-index 1cdf01a..d8e4196 100644
---- a/drivers/staging/go7007/wis-tw9903.c
-+++ b/drivers/staging/go7007/wis-tw9903.c
-@@ -19,8 +19,7 @@
- #include <linux/init.h>
- #include <linux/version.h>
- #include <linux/i2c.h>
--#include <linux/videodev.h>
--#include <linux/video_decoder.h>
-+#include <linux/videodev2.h>
- #include <linux/ioctl.h>
- #include "wis-i2c.h"
-@@ -106,7 +105,7 @@ static int wis_tw9903_command(struct i2c_client *client,
-       struct wis_tw9903 *dec = i2c_get_clientdata(client);
-       switch (cmd) {
--      case DECODER_SET_INPUT:
-+      case VIDIOC_S_INPUT:
-       {
-               int *input = arg;
-@@ -119,7 +118,7 @@ static int wis_tw9903_command(struct i2c_client *client,
-               struct video_decoder_resolution *res = arg;
-               /*int hscale = 256 * 720 / res->width;*/
-               int hscale = 256 * 720 / (res->width - (res->width > 704 ? 0 : 8));
--              int vscale = 256 * (dec->norm == VIDEO_MODE_NTSC ?  240 : 288)
-+              int vscale = 256 * (dec->norm & V4L2_STD_NTSC ?  240 : 288)
-                               / res->height;
-               u8 regs[] = {
-                       0x0d, vscale & 0xff,
-@@ -134,14 +133,14 @@ static int wis_tw9903_command(struct i2c_client *client,
-               break;
-       }
- #endif
--      case DECODER_SET_NORM:
-+      case VIDIOC_S_STD:
-       {
--              int *input = arg;
-+              v4l2_std_id *input = arg;
-               u8 regs[] = {
--                      0x05, *input == VIDEO_MODE_NTSC ? 0x80 : 0x00,
--                      0x07, *input == VIDEO_MODE_NTSC ? 0x02 : 0x12,
--                      0x08, *input == VIDEO_MODE_NTSC ? 0x14 : 0x18,
--                      0x09, *input == VIDEO_MODE_NTSC ? 0xf0 : 0x20,
-+                      0x05, *input & V4L2_STD_NTSC ? 0x80 : 0x00,
-+                      0x07, *input & V4L2_STD_NTSC ? 0x02 : 0x12,
-+                      0x08, *input & V4L2_STD_NTSC ? 0x14 : 0x18,
-+                      0x09, *input & V4L2_STD_NTSC ? 0xf0 : 0x20,
-                       0,      0,
-               };
-               write_regs(client, regs);
-@@ -297,7 +296,7 @@ static int wis_tw9903_detect(struct i2c_adapter *adapter, int addr, int kind)
-               kfree(client);
-               return -ENOMEM;
-       }
--      dec->norm = VIDEO_MODE_NTSC;
-+      dec->norm = V4L2_STD_NTSC;
-       dec->brightness = 0;
-       dec->contrast = 0x60;
-       dec->hue = 0;
-diff --git a/drivers/staging/go7007/wis-uda1342.c b/drivers/staging/go7007/wis-uda1342.c
-index 28c10bf..a0894e3 100644
---- a/drivers/staging/go7007/wis-uda1342.c
-+++ b/drivers/staging/go7007/wis-uda1342.c
-@@ -19,7 +19,7 @@
- #include <linux/init.h>
- #include <linux/version.h>
- #include <linux/i2c.h>
--#include <linux/videodev.h>
-+#include <linux/videodev2.h>
- #include <media/tvaudio.h>
- #include <media/v4l2-common.h>
--- 
-1.6.0.2
-