[ragnatech:media-tree 306/312] drivers/staging/media/imx/imx7-media-csi.c:1085:38: sparse: error: not enough arguments for function imx_media_mbus_fmt_to_pix_fmt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   git://git.ragnatech.se/linux media-tree
head:   b3c786566d8f3f69b9f4144c2707db74158caf9a
commit: 05f634040c0d05f59f2dcd39722157cb3b57c85b [306/312] media: staging/imx7: add imx7 CSI subdev driver
reproduce:
        # apt-get install sparse
        git checkout 05f634040c0d05f59f2dcd39722157cb3b57c85b
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

All error/warnings (new ones prefixed by >>):

>> drivers/staging/media/imx/imx7-media-csi.c:1086:56: sparse: warning: incorrect type in argument 2 (different base types)
   drivers/staging/media/imx/imx7-media-csi.c:1086:56: sparse:    expected struct v4l2_rect *compose
   drivers/staging/media/imx/imx7-media-csi.c:1086:56: sparse:    got struct v4l2_mbus_framefmt *
   drivers/staging/media/imx/imx7-media-csi.c:1087:46: sparse: warning: incorrect type in argument 3 (different base types)
   drivers/staging/media/imx/imx7-media-csi.c:1087:46: sparse:    expected struct v4l2_mbus_framefmt const *mbus
   drivers/staging/media/imx/imx7-media-csi.c:1087:46: sparse:    got struct imx_media_pixfmt const *
>> drivers/staging/media/imx/imx7-media-csi.c:1085:38: sparse: error: not enough arguments for function imx_media_mbus_fmt_to_pix_fmt
>> drivers/staging/media/imx/imx7-media-csi.c:1089:44: sparse: error: not enough arguments for function imx_media_capture_device_set_format

sparse warnings: (new ones prefixed by >>)

   drivers/staging/media/imx/imx7-media-csi.c:1086:56: sparse: warning: incorrect type in argument 2 (different base types)
>> drivers/staging/media/imx/imx7-media-csi.c:1086:56: sparse:    expected struct v4l2_rect *compose
>> drivers/staging/media/imx/imx7-media-csi.c:1086:56: sparse:    got struct v4l2_mbus_framefmt *
   drivers/staging/media/imx/imx7-media-csi.c:1087:46: sparse: warning: incorrect type in argument 3 (different base types)
>> drivers/staging/media/imx/imx7-media-csi.c:1087:46: sparse:    expected struct v4l2_mbus_framefmt const *mbus
>> drivers/staging/media/imx/imx7-media-csi.c:1087:46: sparse:    got struct imx_media_pixfmt const *
   drivers/staging/media/imx/imx7-media-csi.c:1085:38: sparse: error: not enough arguments for function imx_media_mbus_fmt_to_pix_fmt
   drivers/staging/media/imx/imx7-media-csi.c:1089:44: sparse: error: not enough arguments for function imx_media_capture_device_set_format

vim +1085 drivers/staging/media/imx/imx7-media-csi.c

  1029	
  1030	static int imx7_csi_set_fmt(struct v4l2_subdev *sd,
  1031				    struct v4l2_subdev_pad_config *cfg,
  1032				    struct v4l2_subdev_format *sdformat)
  1033	{
  1034		struct imx7_csi *csi = v4l2_get_subdevdata(sd);
  1035		struct imx_media_video_dev *vdev = csi->vdev;
  1036		const struct imx_media_pixfmt *outcc;
  1037		struct v4l2_mbus_framefmt *outfmt;
  1038		struct v4l2_pix_format vdev_fmt;
  1039		const struct imx_media_pixfmt *cc;
  1040		struct v4l2_mbus_framefmt *fmt;
  1041		struct v4l2_subdev_format format;
  1042		int ret = 0;
  1043	
  1044		if (sdformat->pad >= IMX7_CSI_PADS_NUM)
  1045			return -EINVAL;
  1046	
  1047		mutex_lock(&csi->lock);
  1048	
  1049		if (csi->is_streaming) {
  1050			ret = -EBUSY;
  1051			goto out_unlock;
  1052		}
  1053	
  1054		imx7_csi_try_fmt(csi, cfg, sdformat, &cc);
  1055	
  1056		fmt = imx7_csi_get_format(csi, cfg, sdformat->pad, sdformat->which);
  1057		if (!fmt) {
  1058			ret = -EINVAL;
  1059			goto out_unlock;
  1060		}
  1061	
  1062		*fmt = sdformat->format;
  1063	
  1064		if (sdformat->pad == IMX7_CSI_PAD_SINK) {
  1065			/* propagate format to source pads */
  1066			format.pad = IMX7_CSI_PAD_SRC;
  1067			format.which = sdformat->which;
  1068			format.format = sdformat->format;
  1069			imx7_csi_try_fmt(csi, cfg, &format, &outcc);
  1070	
  1071			outfmt = imx7_csi_get_format(csi, cfg, IMX7_CSI_PAD_SRC,
  1072						     sdformat->which);
  1073			*outfmt = format.format;
  1074	
  1075			if (sdformat->which == V4L2_SUBDEV_FORMAT_ACTIVE)
  1076				csi->cc[IMX7_CSI_PAD_SRC] = outcc;
  1077		}
  1078	
  1079		if (sdformat->which == V4L2_SUBDEV_FORMAT_TRY)
  1080			goto out_unlock;
  1081	
  1082		csi->cc[sdformat->pad] = cc;
  1083	
  1084		/* propagate output pad format to capture device */
> 1085		imx_media_mbus_fmt_to_pix_fmt(&vdev_fmt,
> 1086					      &csi->format_mbus[IMX7_CSI_PAD_SRC],
> 1087					      csi->cc[IMX7_CSI_PAD_SRC]);
  1088		mutex_unlock(&csi->lock);
> 1089		imx_media_capture_device_set_format(vdev, &vdev_fmt);
  1090	
  1091		return 0;
  1092	
  1093	out_unlock:
  1094		mutex_unlock(&csi->lock);
  1095	
  1096		return ret;
  1097	}
  1098	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux