[sailus-media-tree:master 28/30] drivers/media/v4l2-core/v4l2-subdev.c:335:33: error: implicit declaration of function 'v4l2_subdev_lock_and_get_active_state'

From: kernel test robot
Date: Sat Apr 09 2022 - 01:33:12 EST


tree: git://linuxtv.org/sailus/media_tree.git master
head: bd1d801f302289ddbf86ff6c38fcc91aef8e7609
commit: 3f1a6a471c6a8b5ba772cb82538ad03fa0255e7c [28/30] media: subdev: add locking wrappers to subdev op wrappers
config: sparc-randconfig-p001-20220408 (https://download.01.org/0day-ci/archive/20220409/202204091346.VjKbcCcw-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 11.2.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 sailus-media-tree git://linuxtv.org/sailus/media_tree.git
git fetch --no-tags sailus-media-tree master
git checkout 3f1a6a471c6a8b5ba772cb82538ad03fa0255e7c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sparc SHELL=/bin/bash drivers/media/v4l2-core/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

drivers/media/v4l2-core/v4l2-subdev.c: In function 'call_get_fmt_state':
>> drivers/media/v4l2-core/v4l2-subdev.c:335:33: error: implicit declaration of function 'v4l2_subdev_lock_and_get_active_state' [-Werror=implicit-function-declaration]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c:335:33: note: in definition of macro 'DEFINE_STATE_WRAPPER'
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/v4l2-core/v4l2-subdev.c:335:31: warning: assignment to 'struct v4l2_subdev_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^
drivers/media/v4l2-core/v4l2-subdev.c:342:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
342 | DEFINE_STATE_WRAPPER(get_fmt, struct v4l2_subdev_format);
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/media/v4l2-core/v4l2-subdev.c:338:25: error: implicit declaration of function 'v4l2_subdev_unlock_state' [-Werror=implicit-function-declaration]
338 | v4l2_subdev_unlock_state(state); \
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c:342:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
342 | DEFINE_STATE_WRAPPER(get_fmt, struct v4l2_subdev_format);
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: In function 'call_set_fmt_state':
>> drivers/media/v4l2-core/v4l2-subdev.c:335:31: warning: assignment to 'struct v4l2_subdev_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^
drivers/media/v4l2-core/v4l2-subdev.c:343:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
343 | DEFINE_STATE_WRAPPER(set_fmt, struct v4l2_subdev_format);
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: In function 'call_enum_mbus_code_state':
>> drivers/media/v4l2-core/v4l2-subdev.c:335:31: warning: assignment to 'struct v4l2_subdev_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^
drivers/media/v4l2-core/v4l2-subdev.c:344:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
344 | DEFINE_STATE_WRAPPER(enum_mbus_code, struct v4l2_subdev_mbus_code_enum);
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: In function 'call_enum_frame_size_state':
>> drivers/media/v4l2-core/v4l2-subdev.c:335:31: warning: assignment to 'struct v4l2_subdev_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^
drivers/media/v4l2-core/v4l2-subdev.c:345:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
345 | DEFINE_STATE_WRAPPER(enum_frame_size, struct v4l2_subdev_frame_size_enum);
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: In function 'call_enum_frame_interval_state':
>> drivers/media/v4l2-core/v4l2-subdev.c:335:31: warning: assignment to 'struct v4l2_subdev_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^
drivers/media/v4l2-core/v4l2-subdev.c:346:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
346 | DEFINE_STATE_WRAPPER(enum_frame_interval, struct v4l2_subdev_frame_interval_enum);
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: In function 'call_get_selection_state':
>> drivers/media/v4l2-core/v4l2-subdev.c:335:31: warning: assignment to 'struct v4l2_subdev_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^
drivers/media/v4l2-core/v4l2-subdev.c:347:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
347 | DEFINE_STATE_WRAPPER(get_selection, struct v4l2_subdev_selection);
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/v4l2-core/v4l2-subdev.c: In function 'call_set_selection_state':
>> drivers/media/v4l2-core/v4l2-subdev.c:335:31: warning: assignment to 'struct v4l2_subdev_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
335 | state = v4l2_subdev_lock_and_get_active_state(sd); \
| ^
drivers/media/v4l2-core/v4l2-subdev.c:348:1: note: in expansion of macro 'DEFINE_STATE_WRAPPER'
348 | DEFINE_STATE_WRAPPER(set_selection, struct v4l2_subdev_selection);
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +/v4l2_subdev_lock_and_get_active_state +335 drivers/media/v4l2-core/v4l2-subdev.c

321
322 /*
323 * Create state-management wrapper for pad ops dealing with subdev state. The
324 * wrapper handles the case where the caller does not provide the called
325 * subdev's state. This should be removed when all the callers are fixed.
326 */
327 #define DEFINE_STATE_WRAPPER(f, arg_type) \
328 static int call_##f##_state(struct v4l2_subdev *sd, \
329 struct v4l2_subdev_state *_state, \
330 arg_type *format) \
331 { \
332 struct v4l2_subdev_state *state = _state; \
333 int ret; \
334 if (!_state) \
> 335 state = v4l2_subdev_lock_and_get_active_state(sd); \
336 ret = call_##f(sd, state, format); \
337 if (!_state && state) \
> 338 v4l2_subdev_unlock_state(state); \
339 return ret; \
340 }
341

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