Hi Xavier, Thank you for the patch! Yet something to improve: [auto build test ERROR on media-tree/master] [also build test ERROR on linus/master v5.19-rc6 next-20220715] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Xavier-Roumegue/i-MX8MP-DW100-dewarper-driver/20220716-222346 base: git://linuxtv.org/media_tree.git master config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20220717/202207170714.QdpDmTNJ-lkp@xxxxxxxxx/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/49c9ce2fbbca7da795c8b503c0af12f77fe8fc16 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Xavier-Roumegue/i-MX8MP-DW100-dewarper-driver/20220716-222346 git checkout 49c9ce2fbbca7da795c8b503c0af12f77fe8fc16 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): drivers/media/platform/nxp/dw100/dw100.c: In function 'dw100_s_fmt': >> drivers/media/platform/nxp/dw100/dw100.c:830:23: error: implicit declaration of function '__v4l2_ctrl_modify_dimensions'; did you mean '__v4l2_ctrl_modify_range'? [-Werror=implicit-function-declaration] 830 | ret = __v4l2_ctrl_modify_dimensions(ctrl, dims); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | __v4l2_ctrl_modify_range cc1: some warnings being treated as errors vim +830 drivers/media/platform/nxp/dw100/dw100.c 776 777 static int dw100_s_fmt(struct dw100_ctx *ctx, struct v4l2_format *f) 778 { 779 struct dw100_q_data *q_data; 780 struct vb2_queue *vq; 781 782 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); 783 if (!vq) 784 return -EINVAL; 785 786 q_data = dw100_get_q_data(ctx, f->type); 787 if (!q_data) 788 return -EINVAL; 789 790 if (vb2_is_busy(vq)) { 791 dev_dbg(&ctx->dw_dev->pdev->dev, "%s queue busy\n", __func__); 792 return -EBUSY; 793 } 794 795 q_data->fmt = dw100_find_format(f); 796 q_data->pix_fmt = f->fmt.pix_mp; 797 q_data->crop.top = 0; 798 q_data->crop.left = 0; 799 q_data->crop.width = f->fmt.pix_mp.width; 800 q_data->crop.height = f->fmt.pix_mp.height; 801 802 /* Propagate buffers encoding */ 803 804 if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { 805 struct dw100_q_data *dst_q_data = 806 dw100_get_q_data(ctx, 807 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); 808 809 dst_q_data->pix_fmt.colorspace = q_data->pix_fmt.colorspace; 810 dst_q_data->pix_fmt.ycbcr_enc = q_data->pix_fmt.ycbcr_enc; 811 dst_q_data->pix_fmt.quantization = q_data->pix_fmt.quantization; 812 dst_q_data->pix_fmt.xfer_func = q_data->pix_fmt.xfer_func; 813 } 814 815 dev_dbg(&ctx->dw_dev->pdev->dev, 816 "Setting format for type %u, wxh: %ux%u, fmt: %p4cc\n", 817 f->type, q_data->pix_fmt.width, q_data->pix_fmt.height, 818 &q_data->pix_fmt.pixelformat); 819 820 if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { 821 int ret; 822 u32 dims[V4L2_CTRL_MAX_DIMS] = {}; 823 struct v4l2_ctrl *ctrl = ctx->ctrls[DW100_CTRL_DEWARPING_MAP]; 824 825 dims[0] = dw100_get_n_vertices_from_length(q_data->pix_fmt.width); 826 dims[1] = dw100_get_n_vertices_from_length(q_data->pix_fmt.height); 827 828 v4l2_ctrl_lock(ctrl); 829 ctx->user_map_is_valid = false; > 830 ret = __v4l2_ctrl_modify_dimensions(ctrl, dims); 831 v4l2_ctrl_unlock(ctrl); 832 833 if (ret) { 834 dev_err(&ctx->dw_dev->pdev->dev, 835 "Modifying LUT dimensions failed with error %d\n", 836 ret); 837 return ret; 838 } 839 } 840 841 return 0; 842 } 843 -- 0-DAY CI Kernel Test Service https://01.org/lkp