/* * Video node ioctl operations */ static int isp_video_querycap(struct file *file, void *priv, struct v4l2_capability *cap) { struct fimc_isp *isp = video_drvdata(file); __fimc_vidioc_querycap(&isp->pdev->dev, cap, V4L2_CAP_STREAMING); return 0; }
/* * V4L2 ioctl handlers */ static int fimc_m2m_querycap(struct file *file, void *fh, struct v4l2_capability *cap) { struct fimc_dev *fimc = video_drvdata(file); unsigned int caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M_MPLANE; __fimc_vidioc_querycap(&fimc->pdev->dev, cap, caps); return 0; }
/* * V4L2 ioctl handlers */ static int fimc_m2m_querycap(struct file *file, void *fh, struct v4l2_capability *cap) { struct fimc_dev *fimc = video_drvdata(file); unsigned int caps; /* * 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. */ caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_VIDEO_CAPTURE_MPLANE | V4L2_CAP_VIDEO_OUTPUT_MPLANE; __fimc_vidioc_querycap(&fimc->pdev->dev, cap, caps); return 0; }