Re: [linux-next:master 12222/13209] ERROR: modpost: "v4l2_subdev_link_validate" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!

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

 



Laurent, Mauro,

        I'm having a bit of troubles to get what's missing in the CSIS Kconfig

On Thu, Mar 17, 2022 at 05:31:13AM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head:   8a11187eb62b8b910d2c5484e1f5d160e8b11eb4
> commit: 67d841549e43ddcfc8ecc75cf86df1c5b48fe007 [12222/13209] media: platform/*/Kconfig: make manufacturer menus more uniform
> config: nios2-randconfig-r014-20220317 (https://download.01.org/0day-ci/archive/20220317/202203170501.AhqUekoF-lkp@xxxxxxxxx/config)
> compiler: nios2-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
>         # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=67d841549e43ddcfc8ecc75cf86df1c5b48fe007
>         git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>         git fetch --no-tags linux-next master
>         git checkout 67d841549e43ddcfc8ecc75cf86df1c5b48fe007
>         # 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=nios2 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>, old ones prefixed by <<):
>
> >> ERROR: modpost: "v4l2_subdev_link_validate" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l2_subdev_get_fwnode_pad_1_to_1" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l_bound_align_image" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l2_async_register_subdev" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l2_async_subdev_nf_register" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "__v4l2_async_nf_add_fwnode_remote" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l2_fwnode_endpoint_parse" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l2_async_nf_init" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l2_subdev_init" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> >> ERROR: modpost: "v4l2_async_unregister_subdev" [drivers/media/platform/nxp/imx-mipi-csis.ko] undefined!
> WARNING: modpost: suppressed 5 unresolved symbol warnings because there were too many)

The missing symbols here are from v4l2-subdev.c v4l2-async.c and
v4l2-fwnode.c.

The CSIS Kconfig entry looks like this

# SPDX-License-Identifier: GPL-2.0-only

-------------------------------------------------------------------------------
menuconfig VIDEO_IMX
	bool "V4L2 capture drivers for NXP i.MX devices"
	depends on ARCH_MXC || COMPILE_TEST
	depends on VIDEO_DEV && VIDEO_V4L2
	help
	  Say yes here to enable support for capture drivers on i.MX SoCs.
	  Support for the single SoC features are selectable in the sub-menu
	  options.

if VIDEO_IMX

config VIDEO_IMX_MIPI_CSIS
	tristate "MIPI CSI-2 CSIS receiver found on i.MX7 and i.MX8 models"
	select MEDIA_CONTROLLER
	select V4L2_FWNODE
	select VIDEO_V4L2_SUBDEV_API
	default n
	help
	  Video4Linux2 sub-device driver for the MIPI CSI-2 CSIS receiver
	  v3.3/v3.6.3 found on some i.MX7 and i.MX8 SoCs.

endif # VIDEO_IMX
-------------------------------------------------------------------------------

The VIDEO_V4L2 dependency on the menu entry should make sure
v4l2-subdev.c is selected

------- drivers/media/v4l2-core/Makefile --------------

videodev-objs	:=	v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \
			v4l2-event.o v4l2-subdev.o v4l2-common.o \
			v4l2-ctrls-core.o v4l2-ctrls-api.o \
			v4l2-ctrls-request.o v4l2-ctrls-defs.o

obj-$(CONFIG_VIDEO_V4L2) += videodev.o
--------------------------------------------------------

and the driver selects V4L2_FWNODE and VIDEO_V4L2_SUBDEV_API.

I understand v4l2-async might be missing, but why are the other
symbols not selected as it seems to me they should be ?

>
> Kconfig warnings: (for reference only)
>    WARNING: unmet direct dependencies detected for VIDEO_V4L2_SUBDEV_API
>    Depends on MEDIA_SUPPORT && VIDEO_DEV && MEDIA_CONTROLLER

VIDEO_DEV is not selected in the config file used by the robot to
generate this report,

CONFIG_MEDIA_SUPPORT=m
# CONFIG_VIDEO_DEV is not set
CONFIG_MEDIA_CONTROLLER=y

so in this case CSIS should not be selectable as the parent menuconfig
should not be visible if !VIDEO_DEV ?


>    Selected by
>    - VIDEO_IMX_MIPI_CSIS && MEDIA_SUPPORT && MEDIA_PLATFORM_SUPPORT && MEDIA_PLATFORM_DRIVERS
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



[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