Hi Hugues, I love your patch! Yet something to improve: [auto build test ERROR on atorgue-stm32/stm32-next] [also build test ERROR on media-tree/master sailus-media-tree/streams linus/master v6.0-rc4 next-20220909] [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/Hugues-Fruchet/Add-support-for-DCMIPP-camera-interface-of-STMicroelectronics-STM32-SoC-series/20220910-010413 base: https://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git stm32-next config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20220910/202209100741.2q2uPfCJ-lkp@xxxxxxxxx/config) compiler: sh4-linux-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/27ecbfe1ec56d46466cf305ba5f44de8e5a676f0 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Hugues-Fruchet/Add-support-for-DCMIPP-camera-interface-of-STMicroelectronics-STM32-SoC-series/20220910-010413 git checkout 27ecbfe1ec56d46466cf305ba5f44de8e5a676f0 # 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=sh SHELL=/bin/bash drivers/media/platform/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): In file included from drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:27: >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-common.h:120:41: error: field 'bus' has incomplete type 120 | struct v4l2_fwnode_bus_parallel bus; | ^~~ drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c: In function 'dcmipp_comp_unbind': >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:225:9: error: implicit declaration of function 'v4l2_async_notifier_unregister'; did you mean 'v4l2_async_nf_unregister'? [-Werror=implicit-function-declaration] 225 | v4l2_async_notifier_unregister(&dcmipp->notifier); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | v4l2_async_nf_unregister >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:226:9: error: implicit declaration of function 'v4l2_async_notifier_cleanup'; did you mean 'v4l2_async_nf_cleanup'? [-Werror=implicit-function-declaration] 226 | v4l2_async_notifier_cleanup(&dcmipp->notifier); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | v4l2_async_nf_cleanup drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c: In function 'dcmipp_graph_init': >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:465:9: error: implicit declaration of function 'v4l2_async_notifier_init'; did you mean 'v4l2_async_nf_init'? [-Werror=implicit-function-declaration] 465 | v4l2_async_notifier_init(&dcmipp->notifier); | ^~~~~~~~~~~~~~~~~~~~~~~~ | v4l2_async_nf_init >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:467:15: error: implicit declaration of function 'v4l2_async_notifier_add_fwnode_remote_subdev'; did you mean 'v4l2_async_nf_add_fwnode_remote'? [-Werror=implicit-function-declaration] 467 | asd = v4l2_async_notifier_add_fwnode_remote_subdev | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | v4l2_async_nf_add_fwnode_remote >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:469:18: error: expected expression before 'struct' 469 | struct v4l2_async_subdev); | ^~~~~~ >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c:480:15: error: implicit declaration of function 'v4l2_async_notifier_register'; did you mean 'v4l2_async_nf_register'? [-Werror=implicit-function-declaration] 480 | ret = v4l2_async_notifier_register(&dcmipp->v4l2_dev, &dcmipp->notifier); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | v4l2_async_nf_register cc1: some warnings being treated as errors -- In file included from drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-common.c:14: >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-common.h:120:41: error: field 'bus' has incomplete type 120 | struct v4l2_fwnode_bus_parallel bus; | ^~~ -- In file included from drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c:24: >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-common.h:120:41: error: field 'bus' has incomplete type 120 | struct v4l2_fwnode_bus_parallel bus; | ^~~ drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c: In function 'dcmipp_pipeline_s_stream': >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c:460:23: error: implicit declaration of function 'media_entity_remote_pad'; did you mean 'media_entity_remove_links'? [-Werror=implicit-function-declaration] 460 | pad = media_entity_remote_pad(pad); | ^~~~~~~~~~~~~~~~~~~~~~~ | media_entity_remove_links >> drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c:460:21: warning: assignment to 'struct media_pad *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 460 | pad = media_entity_remote_pad(pad); | ^ cc1: some warnings being treated as errors vim +/bus +120 drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-common.h 92 93 /** 94 * struct dcmipp_ent_device - core struct that represents a node in the topology 95 * 96 * @ent: the pointer to struct media_entity for the node 97 * @pads: the list of pads of the node 98 * @process_frame: callback send a frame to that node 99 * @vdev_get_format: callback that returns the current format a pad, used 100 * only when is_media_entity_v4l2_video_device(ent) returns 101 * true 102 * 103 * Each node of the topology must create a dcmipp_ent_device struct. Depending on 104 * the node it will be of an instance of v4l2_subdev or video_device struct 105 * where both contains a struct media_entity. 106 * Those structures should embedded the dcmipp_ent_device struct through 107 * v4l2_set_subdevdata() and video_set_drvdata() respectivaly, allowing the 108 * dcmipp_ent_device struct to be retrieved from the corresponding struct 109 * media_entity 110 */ 111 struct dcmipp_ent_device { 112 struct media_entity *ent; 113 struct media_pad *pads; 114 void * (*process_frame)(struct dcmipp_ent_device *ved, 115 const void *frame); 116 void (*vdev_get_format)(struct dcmipp_ent_device *ved, 117 struct v4l2_pix_format *fmt); 118 119 /* Parallel input device */ > 120 struct v4l2_fwnode_bus_parallel bus; 121 enum v4l2_mbus_type bus_type; 122 irq_handler_t handler; 123 irqreturn_t handler_ret; 124 irq_handler_t thread_fn; 125 }; 126 -- 0-DAY CI Kernel Test Service https://01.org/lkp