ERROR: disagrees about version of symbol v4l2_async_register_subdev (err -22)

Hi all,

We’re using a setup ISL79987 - Jetson AGX Orin connected with MIPI-CSI 2 interface, we created the device tree for the video decoder and added the custom driver, currently the driver is probing with success, but cannot create the channel /dev/video0, there is also this suspecious logs according to the v4l2 api

conti@conti-desktop:~$ sudo dmesg | grep isl
[sudo] password for conti: 
[    4.923914] i2c-core: driver [isl7998x] registered
[    9.696899] i2c i2c-8: of_i2c: register /i2c@31e0000/isl79987_a@44
[    9.697023] isl7998x 8-0044: probe
[    9.710672] isl7998x 8-0044: isl7998x_probe: video decoder probe
[    9.719192] tegra-camrtc-capture-vi tegra-capture-vi: subdev isl7998x 8-0044 bound
[    9.729110] isl7998x 8-0044: isl7998x_probe probing v4l2 video decoder succeeded.
[    9.749334] i2c i2c-8: client [isl79987] registered with bus id 8-0044
[   16.090664] isl7998x: disagrees about version of symbol v4l2_i2c_subdev_init
[   16.090666] isl7998x: Unknown symbol v4l2_i2c_subdev_init (err -22)
[   16.090693] isl7998x: disagrees about version of symbol v4l2_async_unregister_subdev
[   16.090695] isl7998x: Unknown symbol v4l2_async_unregister_subdev (err -22)
[   16.090761] isl7998x: disagrees about version of symbol v4l2_async_register_subdev
[   16.090762] isl7998x: Unknown symbol v4l2_async_register_subdev (err -22)

I’m not understanding why the probe is successful but we’re having **Unknown symbol with the error -22 ?


hello chakibdace,

is this driver tested on previous platform before?
please refer to Camera Driver Porting, that Orin series is now using k-5.10.

Hi @JerryChang

This driver is a custom one, we didnt tested it in other platforms.

Can you please give some details about compatibility ?


hello chakibdace,

it’s version check and report bad_version warnings.
please refer to this tutorial video, V4L2 Sensor Driver Development Tutorial to review your driver implementation, thanks

Hi @JerryChang,

We retreived the driver from linux kernel repository linux/isl7998x.c at v5.18 · torvalds/linux · GitHub
And back port it to 5.10 linux kernel (the version used by L4T 35.1).
I tought that when we have to use a video decoder which use mipi csi 2 interface we just need to create the device tree to be able to get the stream using v4l2 in Jetson board

Do you think that there is some adaptation to do for video decoder driver to make it comptabile with tegra platforms

Thanks a lot for your support

hello chakibdace,

you may cross check the implementation with the reference camera drivers,
for example, $public_sources/kernel_src/kernel/nvidia/drivers/media/i2c/*

besides, there’s generic driver for camera device registration,
for example, $public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/tegracam_core.c

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.