RE: [PATCH 6/6] media/platform: fix querycap

2014-11-25 Thread Kamil Debski
Hi Hans,

Thanks for this patch. Looks good.

Best regards,
Kamil

 From: Hans Verkuil [mailto:hverk...@xs4all.nl]
 Sent: Monday, November 24, 2014 10:37 AM
 To: linux-media@vger.kernel.org
 Cc: Hans Verkuil; Lad, Prabhakar; Kamil Debski; Jacek Anaszewski
 Subject: [PATCH 6/6] media/platform: fix querycap
 
 From: Hans Verkuil hans.verk...@cisco.com
 
 Querycap shouldn't set the version field (the core does that for you),
 but it should set the device_caps field.
 
 In addition, remove the CAPTURE and OUTPUT caps for M2M devices. These
 were already slated for removal, so it's time to do so.
 
 Signed-off-by: Hans Verkuil hans.verk...@cisco.com
 Cc: Lad, Prabhakar prabhakar.cse...@gmail.com
 Cc: Kamil Debski k.deb...@samsung.com
 Cc: Jacek Anaszewski j.anaszew...@samsung.com

Acked-by: Kamil Debski k.deb...@samsung.com

 ---
  drivers/media/platform/davinci/vpbe_display.c |  1 -
 drivers/media/platform/davinci/vpfe_capture.c |  4 ++--
  drivers/media/platform/s5p-g2d/g2d.c  | 10 ++
  drivers/media/platform/s5p-jpeg/jpeg-core.c   |  9 ++---
  drivers/media/platform/s5p-mfc/s5p_mfc_dec.c  |  6 ++
 drivers/media/platform/s5p-mfc/s5p_mfc_enc.c  |  6 ++
  6 files changed, 10 insertions(+), 26 deletions(-)
 
 diff --git a/drivers/media/platform/davinci/vpbe_display.c
 b/drivers/media/platform/davinci/vpbe_display.c
 index 78b9ffe..21a5a56 100644
 --- a/drivers/media/platform/davinci/vpbe_display.c
 +++ b/drivers/media/platform/davinci/vpbe_display.c
 @@ -639,7 +639,6 @@ static int vpbe_display_querycap(struct file *file,
 void  *priv,
   struct vpbe_layer *layer = video_drvdata(file);
   struct vpbe_device *vpbe_dev = layer-disp_dev-vpbe_dev;
 
 - cap-version = VPBE_DISPLAY_VERSION_CODE;
   cap-device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
   snprintf(cap-driver, sizeof(cap-driver), %s, diff --git
 a/drivers/media/platform/davinci/vpfe_capture.c
 b/drivers/media/platform/davinci/vpfe_capture.c
 index 3d0e3ae..271c460 100644
 --- a/drivers/media/platform/davinci/vpfe_capture.c
 +++ b/drivers/media/platform/davinci/vpfe_capture.c
 @@ -930,8 +930,8 @@ static int vpfe_querycap(struct file *file, void
 *priv,
 
   v4l2_dbg(1, debug, vpfe_dev-v4l2_dev, vpfe_querycap\n);
 
 - cap-version = VPFE_CAPTURE_VERSION_CODE;
 - cap-capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
 + cap-device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
 + cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
   strlcpy(cap-driver, CAPTURE_DRV_NAME, sizeof(cap-driver));
   strlcpy(cap-bus_info, VPFE, sizeof(cap-bus_info));
   strlcpy(cap-card, vpfe_dev-cfg-card_name, sizeof(cap-card));
 diff --git a/drivers/media/platform/s5p-g2d/g2d.c
 b/drivers/media/platform/s5p-g2d/g2d.c
 index d79e214..51e4edc 100644
 --- a/drivers/media/platform/s5p-g2d/g2d.c
 +++ b/drivers/media/platform/s5p-g2d/g2d.c
 @@ -297,14 +297,8 @@ static int vidioc_querycap(struct file *file, void
 *priv,
   strncpy(cap-driver, G2D_NAME, sizeof(cap-driver) - 1);
   strncpy(cap-card, G2D_NAME, sizeof(cap-card) - 1);
   cap-bus_info[0] = 0;
 - cap-version = KERNEL_VERSION(1, 0, 0);
 - /*
 -  * This is only a mem-to-mem video device. The capture and output
 -  * device capability flags are left only for backward
 compatibility
 -  * and are scheduled for removal.
 -  */
 - cap-capabilities = V4L2_CAP_VIDEO_CAPTURE |
 V4L2_CAP_VIDEO_OUTPUT |
 - V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
 + cap-device_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
 + cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
   return 0;
  }
 
 diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c
 b/drivers/media/platform/s5p-jpeg/jpeg-core.c
 index 6fcc7f0..d6f75b1 100644
 --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
 +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
 @@ -1001,13 +1001,8 @@ static int s5p_jpeg_querycap(struct file *file,
 void *priv,
   sizeof(cap-card));
   }
   cap-bus_info[0] = 0;
 - /*
 -  * This is only a mem-to-mem video device. The capture and output
 -  * device capability flags are left only for backward
 compatibility
 -  * and are scheduled for removal.
 -  */
 - cap-capabilities = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M |
 - V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT;
 + cap-device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M;
 + cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
   return 0;
  }
 
 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
 b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
 index 74bcec8..c6c3452 100644
 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
 +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
 @@ -269,15 +269,13 @@ static int vidioc_querycap(struct file *file,
 void

Re: [PATCH 6/6] media/platform: fix querycap

2014-11-25 Thread Prabhakar Lad
Hi Hans,

Thanks for the patch.

On Mon, Nov 24, 2014 at 9:37 AM, Hans Verkuil hverk...@xs4all.nl wrote:
 From: Hans Verkuil hans.verk...@cisco.com

 Querycap shouldn't set the version field (the core does that for you),
 but it should set the device_caps field.

 In addition, remove the CAPTURE and OUTPUT caps for M2M devices. These
 were already slated for removal, so it's time to do so.

 Signed-off-by: Hans Verkuil hans.verk...@cisco.com
 Cc: Lad, Prabhakar prabhakar.cse...@gmail.com
 Cc: Kamil Debski k.deb...@samsung.com
 Cc: Jacek Anaszewski j.anaszew...@samsung.com
 ---

Acked-by: Lad, Prabhakar prabhakar.cse...@gmail.com

Regards,
--Prabhakar Lad

  drivers/media/platform/davinci/vpbe_display.c |  1 -
  drivers/media/platform/davinci/vpfe_capture.c |  4 ++--
  drivers/media/platform/s5p-g2d/g2d.c  | 10 ++
  drivers/media/platform/s5p-jpeg/jpeg-core.c   |  9 ++---
  drivers/media/platform/s5p-mfc/s5p_mfc_dec.c  |  6 ++
  drivers/media/platform/s5p-mfc/s5p_mfc_enc.c  |  6 ++
  6 files changed, 10 insertions(+), 26 deletions(-)

 diff --git a/drivers/media/platform/davinci/vpbe_display.c 
 b/drivers/media/platform/davinci/vpbe_display.c
 index 78b9ffe..21a5a56 100644
 --- a/drivers/media/platform/davinci/vpbe_display.c
 +++ b/drivers/media/platform/davinci/vpbe_display.c
 @@ -639,7 +639,6 @@ static int vpbe_display_querycap(struct file *file, void  
 *priv,
 struct vpbe_layer *layer = video_drvdata(file);
 struct vpbe_device *vpbe_dev = layer-disp_dev-vpbe_dev;

 -   cap-version = VPBE_DISPLAY_VERSION_CODE;
 cap-device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
 cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
 snprintf(cap-driver, sizeof(cap-driver), %s,
 diff --git a/drivers/media/platform/davinci/vpfe_capture.c 
 b/drivers/media/platform/davinci/vpfe_capture.c
 index 3d0e3ae..271c460 100644
 --- a/drivers/media/platform/davinci/vpfe_capture.c
 +++ b/drivers/media/platform/davinci/vpfe_capture.c
 @@ -930,8 +930,8 @@ static int vpfe_querycap(struct file *file, void  *priv,

 v4l2_dbg(1, debug, vpfe_dev-v4l2_dev, vpfe_querycap\n);

 -   cap-version = VPFE_CAPTURE_VERSION_CODE;
 -   cap-capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
 +   cap-device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
 +   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
 strlcpy(cap-driver, CAPTURE_DRV_NAME, sizeof(cap-driver));
 strlcpy(cap-bus_info, VPFE, sizeof(cap-bus_info));
 strlcpy(cap-card, vpfe_dev-cfg-card_name, sizeof(cap-card));
 diff --git a/drivers/media/platform/s5p-g2d/g2d.c 
 b/drivers/media/platform/s5p-g2d/g2d.c
 index d79e214..51e4edc 100644
 --- a/drivers/media/platform/s5p-g2d/g2d.c
 +++ b/drivers/media/platform/s5p-g2d/g2d.c
 @@ -297,14 +297,8 @@ static int vidioc_querycap(struct file *file, void *priv,
 strncpy(cap-driver, G2D_NAME, sizeof(cap-driver) - 1);
 strncpy(cap-card, G2D_NAME, sizeof(cap-card) - 1);
 cap-bus_info[0] = 0;
 -   cap-version = KERNEL_VERSION(1, 0, 0);
 -   /*
 -* This is only a mem-to-mem video device. The capture and output
 -* device capability flags are left only for backward compatibility
 -* and are scheduled for removal.
 -*/
 -   cap-capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT |
 -   V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
 +   cap-device_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
 +   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
 return 0;
  }

 diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c 
 b/drivers/media/platform/s5p-jpeg/jpeg-core.c
 index 6fcc7f0..d6f75b1 100644
 --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
 +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
 @@ -1001,13 +1001,8 @@ static int s5p_jpeg_querycap(struct file *file, void 
 *priv,
 sizeof(cap-card));
 }
 cap-bus_info[0] = 0;
 -   /*
 -* This is only a mem-to-mem video device. The capture and output
 -* device capability flags are left only for backward compatibility
 -* and are scheduled for removal.
 -*/
 -   cap-capabilities = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M |
 -   V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT;
 +   cap-device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M;
 +   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
 return 0;
  }

 diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c 
 b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
 index 74bcec8..c6c3452 100644
 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
 +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
 @@ -269,15 +269,13 @@ static int vidioc_querycap(struct file *file, void 
 *priv,
 strncpy(cap-driver, dev-plat_dev-name, sizeof(cap-driver) - 1);
 

Re: [PATCH 6/6] media/platform: fix querycap

2014-11-25 Thread Jacek Anaszewski

Hi Hans,

Thanks for the patch.

On 11/24/2014 10:37 AM, Hans Verkuil wrote:

From: Hans Verkuil hans.verk...@cisco.com

Querycap shouldn't set the version field (the core does that for you),
but it should set the device_caps field.

In addition, remove the CAPTURE and OUTPUT caps for M2M devices. These
were already slated for removal, so it's time to do so.

Signed-off-by: Hans Verkuil hans.verk...@cisco.com
Cc: Lad, Prabhakar prabhakar.cse...@gmail.com
Cc: Kamil Debski k.deb...@samsung.com
Cc: Jacek Anaszewski j.anaszew...@samsung.com


Acked-by: Jacek Anaszewski j.anaszew...@samsung.com

Best Regards,
Jacek Anaszewski



---
  drivers/media/platform/davinci/vpbe_display.c |  1 -
  drivers/media/platform/davinci/vpfe_capture.c |  4 ++--
  drivers/media/platform/s5p-g2d/g2d.c  | 10 ++
  drivers/media/platform/s5p-jpeg/jpeg-core.c   |  9 ++---
  drivers/media/platform/s5p-mfc/s5p_mfc_dec.c  |  6 ++
  drivers/media/platform/s5p-mfc/s5p_mfc_enc.c  |  6 ++
  6 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/drivers/media/platform/davinci/vpbe_display.c 
b/drivers/media/platform/davinci/vpbe_display.c
index 78b9ffe..21a5a56 100644
--- a/drivers/media/platform/davinci/vpbe_display.c
+++ b/drivers/media/platform/davinci/vpbe_display.c
@@ -639,7 +639,6 @@ static int vpbe_display_querycap(struct file *file, void  
*priv,
struct vpbe_layer *layer = video_drvdata(file);
struct vpbe_device *vpbe_dev = layer-disp_dev-vpbe_dev;

-   cap-version = VPBE_DISPLAY_VERSION_CODE;
cap-device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
snprintf(cap-driver, sizeof(cap-driver), %s,
diff --git a/drivers/media/platform/davinci/vpfe_capture.c 
b/drivers/media/platform/davinci/vpfe_capture.c
index 3d0e3ae..271c460 100644
--- a/drivers/media/platform/davinci/vpfe_capture.c
+++ b/drivers/media/platform/davinci/vpfe_capture.c
@@ -930,8 +930,8 @@ static int vpfe_querycap(struct file *file, void  *priv,

v4l2_dbg(1, debug, vpfe_dev-v4l2_dev, vpfe_querycap\n);

-   cap-version = VPFE_CAPTURE_VERSION_CODE;
-   cap-capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
+   cap-device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
+   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
strlcpy(cap-driver, CAPTURE_DRV_NAME, sizeof(cap-driver));
strlcpy(cap-bus_info, VPFE, sizeof(cap-bus_info));
strlcpy(cap-card, vpfe_dev-cfg-card_name, sizeof(cap-card));
diff --git a/drivers/media/platform/s5p-g2d/g2d.c 
b/drivers/media/platform/s5p-g2d/g2d.c
index d79e214..51e4edc 100644
--- a/drivers/media/platform/s5p-g2d/g2d.c
+++ b/drivers/media/platform/s5p-g2d/g2d.c
@@ -297,14 +297,8 @@ static int vidioc_querycap(struct file *file, void *priv,
strncpy(cap-driver, G2D_NAME, sizeof(cap-driver) - 1);
strncpy(cap-card, G2D_NAME, sizeof(cap-card) - 1);
cap-bus_info[0] = 0;
-   cap-version = KERNEL_VERSION(1, 0, 0);
-   /*
-* This is only a mem-to-mem video device. The capture and output
-* device capability flags are left only for backward compatibility
-* and are scheduled for removal.
-*/
-   cap-capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT |
-   V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
+   cap-device_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
+   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
return 0;
  }

diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c 
b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 6fcc7f0..d6f75b1 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -1001,13 +1001,8 @@ static int s5p_jpeg_querycap(struct file *file, void 
*priv,
sizeof(cap-card));
}
cap-bus_info[0] = 0;
-   /*
-* This is only a mem-to-mem video device. The capture and output
-* device capability flags are left only for backward compatibility
-* and are scheduled for removal.
-*/
-   cap-capabilities = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M |
-   V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT;
+   cap-device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M;
+   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
return 0;
  }

diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c 
b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
index 74bcec8..c6c3452 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
@@ -269,15 +269,13 @@ static int vidioc_querycap(struct file *file, void *priv,
strncpy(cap-driver, dev-plat_dev-name, sizeof(cap-driver) - 1);
strncpy(cap-card, dev-plat_dev-name, sizeof(cap-card) - 1);
cap-bus_info[0] = 0;
-   

[PATCH 6/6] media/platform: fix querycap

2014-11-24 Thread Hans Verkuil
From: Hans Verkuil hans.verk...@cisco.com

Querycap shouldn't set the version field (the core does that for you),
but it should set the device_caps field.

In addition, remove the CAPTURE and OUTPUT caps for M2M devices. These
were already slated for removal, so it's time to do so.

Signed-off-by: Hans Verkuil hans.verk...@cisco.com
Cc: Lad, Prabhakar prabhakar.cse...@gmail.com
Cc: Kamil Debski k.deb...@samsung.com
Cc: Jacek Anaszewski j.anaszew...@samsung.com
---
 drivers/media/platform/davinci/vpbe_display.c |  1 -
 drivers/media/platform/davinci/vpfe_capture.c |  4 ++--
 drivers/media/platform/s5p-g2d/g2d.c  | 10 ++
 drivers/media/platform/s5p-jpeg/jpeg-core.c   |  9 ++---
 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c  |  6 ++
 drivers/media/platform/s5p-mfc/s5p_mfc_enc.c  |  6 ++
 6 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/drivers/media/platform/davinci/vpbe_display.c 
b/drivers/media/platform/davinci/vpbe_display.c
index 78b9ffe..21a5a56 100644
--- a/drivers/media/platform/davinci/vpbe_display.c
+++ b/drivers/media/platform/davinci/vpbe_display.c
@@ -639,7 +639,6 @@ static int vpbe_display_querycap(struct file *file, void  
*priv,
struct vpbe_layer *layer = video_drvdata(file);
struct vpbe_device *vpbe_dev = layer-disp_dev-vpbe_dev;
 
-   cap-version = VPBE_DISPLAY_VERSION_CODE;
cap-device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
snprintf(cap-driver, sizeof(cap-driver), %s,
diff --git a/drivers/media/platform/davinci/vpfe_capture.c 
b/drivers/media/platform/davinci/vpfe_capture.c
index 3d0e3ae..271c460 100644
--- a/drivers/media/platform/davinci/vpfe_capture.c
+++ b/drivers/media/platform/davinci/vpfe_capture.c
@@ -930,8 +930,8 @@ static int vpfe_querycap(struct file *file, void  *priv,
 
v4l2_dbg(1, debug, vpfe_dev-v4l2_dev, vpfe_querycap\n);
 
-   cap-version = VPFE_CAPTURE_VERSION_CODE;
-   cap-capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
+   cap-device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
+   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
strlcpy(cap-driver, CAPTURE_DRV_NAME, sizeof(cap-driver));
strlcpy(cap-bus_info, VPFE, sizeof(cap-bus_info));
strlcpy(cap-card, vpfe_dev-cfg-card_name, sizeof(cap-card));
diff --git a/drivers/media/platform/s5p-g2d/g2d.c 
b/drivers/media/platform/s5p-g2d/g2d.c
index d79e214..51e4edc 100644
--- a/drivers/media/platform/s5p-g2d/g2d.c
+++ b/drivers/media/platform/s5p-g2d/g2d.c
@@ -297,14 +297,8 @@ static int vidioc_querycap(struct file *file, void *priv,
strncpy(cap-driver, G2D_NAME, sizeof(cap-driver) - 1);
strncpy(cap-card, G2D_NAME, sizeof(cap-card) - 1);
cap-bus_info[0] = 0;
-   cap-version = KERNEL_VERSION(1, 0, 0);
-   /*
-* This is only a mem-to-mem video device. The capture and output
-* device capability flags are left only for backward compatibility
-* and are scheduled for removal.
-*/
-   cap-capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT |
-   V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
+   cap-device_caps = V4L2_CAP_VIDEO_M2M | V4L2_CAP_STREAMING;
+   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
return 0;
 }
 
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c 
b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 6fcc7f0..d6f75b1 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -1001,13 +1001,8 @@ static int s5p_jpeg_querycap(struct file *file, void 
*priv,
sizeof(cap-card));
}
cap-bus_info[0] = 0;
-   /*
-* This is only a mem-to-mem video device. The capture and output
-* device capability flags are left only for backward compatibility
-* and are scheduled for removal.
-*/
-   cap-capabilities = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M |
-   V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT;
+   cap-device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M;
+   cap-capabilities = cap-device_caps | V4L2_CAP_DEVICE_CAPS;
return 0;
 }
 
diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c 
b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
index 74bcec8..c6c3452 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
@@ -269,15 +269,13 @@ static int vidioc_querycap(struct file *file, void *priv,
strncpy(cap-driver, dev-plat_dev-name, sizeof(cap-driver) - 1);
strncpy(cap-card, dev-plat_dev-name, sizeof(cap-card) - 1);
cap-bus_info[0] = 0;
-   cap-version = KERNEL_VERSION(1, 0, 0);
/*
 * This is only a mem-to-mem video device. The capture and output
 * device capability flags are left only for