[PATCH 3/5] media: stm32-dcmipp: STM32 DCMIPP camera interface driver

kernel test robot lkp at intel.com
Fri Sep 9 16:25:42 PDT 2022


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@intel.com/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 at intel.com>

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



More information about the linux-arm-kernel mailing list