tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   550f4769c7c4a84e3966f20887c6e249c5f2afc4
commit: 05f634040c0d05f59f2dcd39722157cb3b57c85b [8840/10202] media: 
staging/imx7: add imx7 CSI subdev driver

New smatch warnings:
drivers/staging/media/imx/imx7-media-csi.c:1082 imx7_csi_set_fmt() error: 
uninitialized symbol 'cc'.

Old smatch warnings:
drivers/staging/media/imx/imx7-media-csi.c:1076 imx7_csi_set_fmt() error: 
uninitialized symbol 'outcc'.

# 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=05f634040c0d05f59f2dcd39722157cb3b57c85b
git remote add linux-next 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git remote update linux-next
git checkout 05f634040c0d05f59f2dcd39722157cb3b57c85b
vim +/cc +1082 drivers/staging/media/imx/imx7-media-csi.c

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

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

Reply via email to