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

From: kernel test robot
Date: Wed Sep 02 2020 - 18:19:56 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: s390-randconfig-s031-20200902 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=s390

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: In function 'vivid_create_devnodes':
drivers/media/test-drivers/vivid/vivid-core.c:1318:11: warning: unused variable 'i' [-Wunused-variable]
1318 | int ret, i;
| ^
drivers/media/test-drivers/vivid/vivid-core.c: In function 'vivid_create_instance':
>> drivers/media/test-drivers/vivid/vivid-core.c:1887:47: error: 'cec_tx_bus_cnt' undeclared (first use in this function)
1887 | ret = vivid_create_devnodes(pdev, dev, inst, cec_tx_bus_cnt,
| ^~~~~~~~~~~~~~
drivers/media/test-drivers/vivid/vivid-core.c:1887:47: note: each undeclared identifier is reported only once for each function it appears in

# 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