[pinchartl-media:streams/v6.0/v11 34/49] drivers/media/v4l2-core/v4l2-subdev.c:931:9: error: implicit declaration of function 'for_each_active_route'; did you mean 'for_each_active_irq'?

From: kernel test robot
Date: Sat Sep 10 2022 - 12:40:22 EST


tree: git://linuxtv.org/pinchartl/media.git streams/v6.0/v11
head: c8cf58f00bee6d4f43462b3e3f83ef516c594d61
commit: 9fc634e7ac71c145523c64f734836068ee14a4e8 [34/49] media: subdev: use for_each_active_route() in v4l2_subdev_init_stream_configs()
config: ia64-randconfig-r022-20220907 (https://download.01.org/0day-ci/archive/20220911/202209110000.usvZPbyp-lkp@xxxxxxxxx/config)
compiler: ia64-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
git remote add pinchartl-media git://linuxtv.org/pinchartl/media.git
git fetch --no-tags pinchartl-media streams/v6.0/v11
git checkout 9fc634e7ac71c145523c64f734836068ee14a4e8
# 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=ia64 SHELL=/bin/bash drivers/media/v4l2-core/

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/v4l2-core/v4l2-subdev.c: In function 'check_state':
drivers/media/v4l2-core/v4l2-subdev.c:157:22: error: implicit declaration of function 'v4l2_subdev_state_get_stream_format' [-Werror=implicit-function-declaration]
157 | if (!v4l2_subdev_state_get_stream_format(state, pad, stream))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: In function 'v4l2_subdev_init_stream_configs':
>> drivers/media/v4l2-core/v4l2-subdev.c:931:9: error: implicit declaration of function 'for_each_active_route'; did you mean 'for_each_active_irq'? [-Werror=implicit-function-declaration]
931 | for_each_active_route(routing, route) {
| ^~~~~~~~~~~~~~~~~~~~~
| for_each_active_irq
>> drivers/media/v4l2-core/v4l2-subdev.c:931:46: error: expected ';' before '{' token
931 | for_each_active_route(routing, route) {
| ^~
| ;
drivers/media/v4l2-core/v4l2-subdev.c:955:46: error: expected ';' before '{' token
955 | for_each_active_route(routing, route) {
| ^~
| ;
drivers/media/v4l2-core/v4l2-subdev.c:924:13: warning: unused variable 'format_idx' [-Wunused-variable]
924 | u32 format_idx = 0;
| ^~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: At top level:
drivers/media/v4l2-core/v4l2-subdev.c:919:1: warning: 'v4l2_subdev_init_stream_configs' defined but not used [-Wunused-function]
919 | v4l2_subdev_init_stream_configs(struct v4l2_subdev_stream_configs *stream_configs,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +931 drivers/media/v4l2-core/v4l2-subdev.c

917
918 static int
919 v4l2_subdev_init_stream_configs(struct v4l2_subdev_stream_configs *stream_configs,
920 const struct v4l2_subdev_krouting *routing)
921 {
922 struct v4l2_subdev_route *route;
923 u32 num_configs = 0;
924 u32 format_idx = 0;
925
926 kvfree(stream_configs->configs);
927 stream_configs->configs = NULL;
928 stream_configs->num_configs = 0;
929
930 /* Count number of formats needed */
> 931 for_each_active_route(routing, route) {
932 /*
933 * Each route needs a format on both ends of the route, except
934 * for source streams which only need one format.
935 */
936 num_configs +=
937 (route->flags & V4L2_SUBDEV_ROUTE_FL_SOURCE) ? 1 : 2;
938 }
939
940 if (!num_configs)
941 return 0;
942
943 stream_configs->configs = kvcalloc(num_configs,
944 sizeof(*stream_configs->configs), GFP_KERNEL);
945
946 if (!stream_configs->configs)
947 return -ENOMEM;
948
949 stream_configs->num_configs = num_configs;
950
951 /*
952 * Fill in the 'pad' and stream' value for each item in the array from
953 * the routing table
954 */
955 for_each_active_route(routing, route) {
956 u32 idx;
957
958 if (!(route->flags & V4L2_SUBDEV_ROUTE_FL_SOURCE)) {
959 idx = format_idx++;
960
961 stream_configs->configs[idx].pad = route->sink_pad;
962 stream_configs->configs[idx].stream = route->sink_stream;
963 }
964
965 idx = format_idx++;
966
967 stream_configs->configs[idx].pad = route->source_pad;
968 stream_configs->configs[idx].stream = route->source_stream;
969 }
970
971 return 0;
972 }
973

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