Re: [PATCH 14/38] media: vivid: move the devnode creation logic to a separate function

From: kernel test robot
Date: Wed Sep 02 2020 - 20:37:55 EST


Hi Mauro,

I love your patch! Yet something to improve:

[auto build test ERROR on linuxtv-media/master]
[cannot apply to v5.9-rc3 next-20200902]
[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]

url: https://github.com/0day-ci/linux/commits/Mauro-Carvalho-Chehab/media-sparse-smatch-warn-fixes/20200903-002025
base: git://linuxtv.org/media_tree.git master
config: arm-randconfig-r015-20200902 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 224d8153b53b16cf535ea1a55afdfe1ec5b1374f)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

drivers/media/test-drivers/vivid/vivid-core.c:1318:11: warning: unused variable 'i' [-Wunused-variable]
int ret, i;
^
>> drivers/media/test-drivers/vivid/vivid-core.c:1887:47: error: use of undeclared identifier 'cec_tx_bus_cnt'
ret = vivid_create_devnodes(pdev, dev, inst, cec_tx_bus_cnt,
^
1 warning and 1 error generated.

# https://github.com/0day-ci/linux/commit/cd6461a9795132db179f4416123658efbf8a92b7
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mauro-Carvalho-Chehab/media-sparse-smatch-warn-fixes/20200903-002025
git checkout cd6461a9795132db179f4416123658efbf8a92b7
vim +/cec_tx_bus_cnt +1887 drivers/media/test-drivers/vivid/vivid-core.c

1874
1875 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_vid_cap);
1876 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_vid_out);
1877 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_vbi_cap);
1878 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_vbi_out);
1879 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_radio_rx);
1880 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_radio_tx);
1881 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_sdr_cap);
1882 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_meta_cap);
1883 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_meta_out);
1884 v4l2_ctrl_handler_setup(&dev->ctrl_hdl_touch_cap);
1885
1886 /* finally start creating the device nodes */
> 1887 ret = vivid_create_devnodes(pdev, dev, inst, cec_tx_bus_cnt,
1888 tvnorms_cap, tvnorms_out,
1889 in_type_counter, out_type_counter);
1890 if (ret)
1891 goto unreg_dev;
1892
1893 /* Now that everything is fine, let's add it to device list */
1894 vivid_devs[inst] = dev;
1895
1896 return 0;
1897
1898 unreg_dev:
1899 vb2_video_unregister_device(&dev->touch_cap_dev);
1900 vb2_video_unregister_device(&dev->meta_out_dev);
1901 vb2_video_unregister_device(&dev->meta_cap_dev);
1902 video_unregister_device(&dev->radio_tx_dev);
1903 video_unregister_device(&dev->radio_rx_dev);
1904 vb2_video_unregister_device(&dev->sdr_cap_dev);
1905 vb2_video_unregister_device(&dev->vbi_out_dev);
1906 vb2_video_unregister_device(&dev->vbi_cap_dev);
1907 vb2_video_unregister_device(&dev->vid_out_dev);
1908 vb2_video_unregister_device(&dev->vid_cap_dev);
1909 cec_unregister_adapter(dev->cec_rx_adap);
1910 for (i = 0; i < MAX_OUTPUTS; i++)
1911 cec_unregister_adapter(dev->cec_tx_adap[i]);
1912 if (dev->cec_workqueue) {
1913 vivid_cec_bus_free_work(dev);
1914 destroy_workqueue(dev->cec_workqueue);
1915 }
1916 free_dev:
1917 v4l2_device_put(&dev->v4l2_dev);
1918 return ret;
1919 }
1920

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip