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

Reply via email to