Re: [PATCH 7/7] media: nxp: Add i.MX8 ISI driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

I love your patch! Yet something to improve:

[auto build test ERROR on media-tree/master]
[also build test ERROR on linus/master v5.19-rc2 next-20220616]
[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/intel-lab-lkp/linux/commits/Laurent-Pinchart/media-nxp-i-MX8-ISI-driver/20220617-023924
base:   git://linuxtv.org/media_tree.git master
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20220617/202206171015.qKpDS4qm-lkp@xxxxxxxxx/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.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/00174e85de423502abab6c6df2a63b11024aa12d
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Laurent-Pinchart/media-nxp-i-MX8-ISI-driver/20220617-023924
        git checkout 00174e85de423502abab6c6df2a63b11024aa12d
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/media/platform/nxp/imx8-isi/

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/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_init_cfg':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:207:16: error: variable 'routing' has initializer but incomplete type
     207 |         struct v4l2_subdev_krouting routing = { };
         |                ^~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:207:37: error: storage size of 'routing' isn't known
     207 |         struct v4l2_subdev_krouting routing = { };
         |                                     ^~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:216:51: error: invalid application of 'sizeof' to incomplete type 'struct v4l2_subdev_route'
     216 |         routes = kcalloc(xbar->num_sources, sizeof(*routes), GFP_KERNEL);
         |                                                   ^
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:221:58: error: invalid use of undefined type 'struct v4l2_subdev_route'
     221 |                 struct v4l2_subdev_route *route = &routes[i];
         |                                                          ^
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:223:22: error: invalid use of undefined type 'struct v4l2_subdev_route'
     223 |                 route->sink_pad = i;
         |                      ^~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:224:22: error: invalid use of undefined type 'struct v4l2_subdev_route'
     224 |                 route->source_pad = i + xbar->num_sinks;
         |                      ^~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:225:22: error: invalid use of undefined type 'struct v4l2_subdev_route'
     225 |                 route->flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE;
         |                      ^~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:225:32: error: 'V4L2_SUBDEV_ROUTE_FL_ACTIVE' undeclared (first use in this function); did you mean 'V4L2_SUBDEV_FORMAT_ACTIVE'?
     225 |                 route->flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE;
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                V4L2_SUBDEV_FORMAT_ACTIVE
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:207:37: warning: unused variable 'routing' [-Wunused-variable]
     207 |         struct v4l2_subdev_krouting routing = { };
         |                                     ^~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_enum_mbus_code':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:255:26: error: implicit declaration of function 'v4l2_subdev_state_get_opposite_stream_format' [-Werror=implicit-function-declaration]
     255 |                 format = v4l2_subdev_state_get_opposite_stream_format(state,
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:257:75: error: 'struct v4l2_subdev_mbus_code_enum' has no member named 'stream'
     257 |                                                                       code->stream);
         |                                                                           ^~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_set_fmt':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:284:13: error: implicit declaration of function 'media_pad_is_streaming'; did you mean 'media_entity_is_streaming'? [-Werror=implicit-function-declaration]
     284 |             media_pad_is_streaming(&xbar->pads[fmt->pad]))
         |             ^~~~~~~~~~~~~~~~~~~~~~
         |             media_entity_is_streaming
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:309:59: error: 'struct v4l2_subdev_format' has no member named 'stream'
     309 |                                                        fmt->stream);
         |                                                           ^~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:316:37: error: 'struct v4l2_subdev_state' has no member named 'routing'
     316 |         for_each_active_route(&state->routing, route) {
         |                                     ^~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:316:54: error: expected ';' before '{' token
     316 |         for_each_active_route(&state->routing, route) {
         |                                                      ^~
         |                                                      ;
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: At top level:
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:337:48: warning: 'struct v4l2_subdev_krouting' declared inside parameter list will not be visible outside of this definition or declaration
     337 |                                         struct v4l2_subdev_krouting *routing)
         |                                                ^~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_set_routing':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:343:58: error: passing argument 3 of '__mxc_isi_crossbar_set_routing' from incompatible pointer type [-Werror=incompatible-pointer-types]
     343 |         return __mxc_isi_crossbar_set_routing(sd, state, routing);
         |                                                          ^~~~~~~
         |                                                          |
         |                                                          struct v4l2_subdev_krouting *
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:122:72: note: expected 'struct v4l2_subdev_krouting *' but argument is of type 'struct v4l2_subdev_krouting *'
     122 |                                           struct v4l2_subdev_krouting *routing)
         |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_enable_streams':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:376:23: error: implicit declaration of function 'v4l2_subdev_enable_streams'; did you mean 'v4l2_subdev_unlock_state'? [-Werror=implicit-function-declaration]
     376 |                 ret = v4l2_subdev_enable_streams(remote_sd, remote_pad,
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
         |                       v4l2_subdev_unlock_state
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_disable_streams':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:416:23: error: implicit declaration of function 'v4l2_subdev_disable_streams' [-Werror=implicit-function-declaration]
     416 |                 ret = v4l2_subdev_disable_streams(remote_sd, remote_pad,
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: At top level:
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:435:10: error: 'const struct v4l2_subdev_pad_ops' has no member named 'set_routing'
     435 |         .set_routing = mxc_isi_crossbar_set_routing,
         |          ^~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:435:24: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
     435 |         .set_routing = mxc_isi_crossbar_set_routing,
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:435:24: note: (near initialization for 'mxc_isi_crossbar_subdev_pad_ops')
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:435:24: error: initialization of 'int (*)(struct v4l2_subdev *, struct v4l2_edid *)' from incompatible pointer type 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, enum v4l2_subdev_format_whence,  struct v4l2_subdev_krouting *)' [-Werror=incompatible-pointer-types]
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:435:24: note: (near initialization for 'mxc_isi_crossbar_subdev_pad_ops.get_edid')
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:436:10: error: 'const struct v4l2_subdev_pad_ops' has no member named 'enable_streams'
     436 |         .enable_streams = mxc_isi_crossbar_enable_streams,
         |          ^~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:436:27: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
     436 |         .enable_streams = mxc_isi_crossbar_enable_streams,
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:436:27: note: (near initialization for 'mxc_isi_crossbar_subdev_pad_ops')
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:436:27: error: initialization of 'int (*)(struct v4l2_subdev *, struct v4l2_edid *)' from incompatible pointer type 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, u32,  u64)' {aka 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, unsigned int,  long long unsigned int)'} [-Werror=incompatible-pointer-types]
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:436:27: note: (near initialization for 'mxc_isi_crossbar_subdev_pad_ops.set_edid')
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:437:10: error: 'const struct v4l2_subdev_pad_ops' has no member named 'disable_streams'
     437 |         .disable_streams = mxc_isi_crossbar_disable_streams,
         |          ^~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:437:28: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
     437 |         .disable_streams = mxc_isi_crossbar_disable_streams,
         |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:437:28: note: (near initialization for 'mxc_isi_crossbar_subdev_pad_ops')
>> drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:437:28: error: initialization of 'int (*)(struct v4l2_subdev *, unsigned int,  struct v4l2_mbus_config *)' from incompatible pointer type 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, u32,  u64)' {aka 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, unsigned int,  long long unsigned int)'} [-Werror=incompatible-pointer-types]
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:437:28: note: (near initialization for 'mxc_isi_crossbar_subdev_pad_ops.get_mbus_config')
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:447:10: error: 'const struct media_entity_operations' has no member named 'has_route'
     447 |         .has_route = v4l2_subdev_has_route,
         |          ^~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:447:22: error: 'v4l2_subdev_has_route' undeclared here (not in a function); did you mean 'v4l2_subdev_has_op'?
     447 |         .has_route = v4l2_subdev_has_route,
         |                      ^~~~~~~~~~~~~~~~~~~~~
         |                      v4l2_subdev_has_op
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:447:22: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:447:22: note: (near initialization for 'mxc_isi_cross_entity_ops')
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:447:22: warning: excess elements in struct initializer
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:447:22: note: (near initialization for 'mxc_isi_cross_entity_ops')
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_init':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:465:51: error: 'V4L2_SUBDEV_FL_MULTIPLEXED' undeclared (first use in this function)
     465 |         sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_MULTIPLEXED;
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function '__mxc_isi_crossbar_set_routing':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:147:1: error: control reaches end of non-void function [-Werror=return-type]
     147 | }
         | ^
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c: In function 'mxc_isi_crossbar_set_fmt':
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:332:1: error: control reaches end of non-void function [-Werror=return-type]
     332 | }
         | ^
   At top level:
   drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c:109:40: warning: 'mxc_isi_crossbar_default_format' defined but not used [-Wunused-const-variable=]
     109 | static const struct v4l2_mbus_framefmt mxc_isi_crossbar_default_format = {
         |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +437 drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c

   429	
   430	static const struct v4l2_subdev_pad_ops mxc_isi_crossbar_subdev_pad_ops = {
   431		.init_cfg = mxc_isi_crossbar_init_cfg,
   432		.enum_mbus_code = mxc_isi_crossbar_enum_mbus_code,
   433		.get_fmt = v4l2_subdev_get_fmt,
   434		.set_fmt = mxc_isi_crossbar_set_fmt,
   435		.set_routing = mxc_isi_crossbar_set_routing,
   436		.enable_streams = mxc_isi_crossbar_enable_streams,
 > 437		.disable_streams = mxc_isi_crossbar_disable_streams,
   438	};
   439	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux