From ce90794a3458af0aed43b8570cf44cd87900185d Mon Sep 17 00:00:00 2001
From: Gary Bisson <bisson.gary@gmail.com>
Date: Fri, 25 Jul 2014 16:44:53 -0700
Subject: [PATCH] Remove use of obsolete VIDIOC_DBG_G_CHIP_IDENT

This ioctl should never be used in application as
stated in videodev2.h header.
Moreover, its use in this plugin was very limited.

Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
 src/misc/tvsrc/src/mfw_gst_tvsrc.c       | 8 --------
 src/misc/v4l_source/src/mfw_gst_v4lsrc.c | 7 -------
 2 files changed, 15 deletions(-)

diff --git a/src/misc/tvsrc/src/mfw_gst_tvsrc.c b/src/misc/tvsrc/src/mfw_gst_tvsrc.c
index 67e0cd2..f495b6f 100755
--- a/src/misc/tvsrc/src/mfw_gst_tvsrc.c
+++ b/src/misc/tvsrc/src/mfw_gst_tvsrc.c
@@ -450,7 +450,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src)
   struct v4l2_format fmt;
   struct v4l2_control ctrl;
   struct v4l2_streamparm parm;
-  struct v4l2_dbg_chip_ident chip;
   gint fd_v4l = 0;
   struct v4l2_mxc_offset off;
   gint in_width = 0, in_height = 0;
@@ -461,13 +460,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src)
     return 0;
   }
 
-  if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) {
-    g_print ("VIDIOC_DBG_G_CHIP_IDENT failed.\n");
-  } else
-    g_print ("sensor chip is %s\n", chip.match.name);
-
-
-
   if (ioctl (fd_v4l, VIDIOC_G_STD, &id) < 0) {
     g_print ("VIDIOC_G_STD failed\n");
     close (fd_v4l);
diff --git a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c
index 2c2e838..85e7ff0 100755
--- a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c
+++ b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c
@@ -464,7 +464,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src)
   struct v4l2_format fmt = {0};
   struct v4l2_control ctrl = {0};
   struct v4l2_streamparm parm = {0};
-  struct v4l2_dbg_chip_ident chip = {0};
   struct v4l2_frmsizeenum fszenum = {0};
   gint input;
   gint fd_v4l = 0;
@@ -476,12 +475,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src)
     return 0;
   }
 
-  if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) {
-    GST_ERROR ("VIDIOC_DBG_G_CHIP_IDENT failed.");
-  } else
-    GST_INFO ("sensor chip is %s", chip.match.name);
-
-
   if (v4l_src->crop_pixel) {
     in_width = v4l_src->capture_width - (2 * v4l_src->crop_pixel);
     in_height = v4l_src->capture_height - (2 * v4l_src->crop_pixel);
-- 
2.0.1

