aodzip / sun6i-mipi-csi

SUN6I-CSI driver with MIPI-CSI2 support for V3s / S3 / S3L
51 stars 34 forks source link

Compile error in linux-5.4 #3

Closed niyazFattahov closed 2 years ago

niyazFattahov commented 3 years ago

Hello, I'm trying to compile this module in linux-5.4.123 and getting this errors: scripts/kconfig/conf --syncconfig Kconfig CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o AR init/built-in.a CC drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_mipi.o CC drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_dphy.o AR drivers/staging/media/sunxi/sun6i-mipi-csi/built-in.a AR drivers/staging/media/sunxi/built-in.a AR drivers/staging/media/built-in.a AR drivers/staging/built-in.a AR drivers/built-in.a GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o AR init/built-in.a LD vmlinux.o drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_video.o: In function sun6i_video_frame_done': sun6i_video.c:(.text+0xb64): multiple definition ofsun6i_video_frame_done' drivers/media/platform/sunxi/sun6i-csi/sun6i_video.o:sun6i_video.c:(.text+0xb64): first defined here drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_video.o: In function sun6i_video_init': sun6i_video.c:(.text+0xc30): multiple definition ofsun6i_video_init' drivers/media/platform/sunxi/sun6i-csi/sun6i_video.o:sun6i_video.c:(.text+0xc30): first defined here drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_video.o: In function sun6i_video_cleanup': sun6i_video.c:(.text+0xe44): multiple definition ofsun6i_video_cleanup' drivers/media/platform/sunxi/sun6i-csi/sun6i_video.o:sun6i_video.c:(.text+0xe44): first defined here drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_csi.o: In function sun6i_csi_is_format_supported': sun6i_csi.c:(.text+0x5f8): multiple definition ofsun6i_csi_is_format_supported' drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.o:sun6i_csi.c:(.text+0x5bc): first defined here drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_csi.o: In function sun6i_csi_set_power': sun6i_csi.c:(.text+0xa50): multiple definition ofsun6i_csi_set_power' drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.o:sun6i_csi.c:(.text+0x9e0): first defined here drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_csi.o: In function sun6i_csi_update_config': sun6i_csi.c:(.text+0xc50): multiple definition ofsun6i_csi_update_config' drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.o:sun6i_csi.c:(.text+0xbe0): first defined here drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_csi.o: In function sun6i_csi_update_buf_addr': sun6i_csi.c:(.text+0x196c): multiple definition ofsun6i_csi_update_buf_addr' drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.o:sun6i_csi.c:(.text+0x18d0): first defined here drivers/staging/media/sunxi/sun6i-mipi-csi/sun6i_csi.o: In function sun6i_csi_set_stream': sun6i_csi.c:(.text+0x19d4): multiple definition ofsun6i_csi_set_stream' drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.o:sun6i_csi.c:(.text+0x1938): first defined here Makefile:1100: recipe for target 'vmlinux' failed make: *** [vmlinux] Error 1

Can you please help me?

niyazFattahov commented 3 years ago

I've compiled it and when I type: media-ctl --set-v4l2 '5:0[fmt:UYVY8_2X8/1920x1080@1/15]' I get Unable to setup formats: Inappropriate ioctl for device (25) When I type fswebcam -S 5 -d /dev/video0 -p YUV420P -r 1920x1080 test.jpg I get --- Opening /dev/video0... Trying source module v4l2... /dev/video0 opened. No input was specified, using the first. Unable to query input 0. VIDIOC_ENUMINPUT: Inappropriate ioctl for device

Flyctt123 commented 2 years ago

你好,请问你的编译报错是怎么解决的呢,我也遇到了同样的问题

niyazFattahov commented 2 years ago

你好,请问你的编译报错是怎么解决的呢,我也遇到了同样的问题

Hi, I don't use this driver any more, you can use mainline mpi-csi-2 driver Read this: https://linux-sunxi.org/Linux_mainlining_effort https://bootlin.com/blog/initial-allwinner-v3-isp-support-in-mainline-linux/ But you will need kernel >= 5.14

aodzip commented 2 years ago

I recommend use mainline bootlin CSI2 driver. This repo is one of my early work when there was no availabe driver for allwinner mipi-csi2.

Unturned3 commented 1 year ago

你好,请问你的编译报错是怎么解决的呢,我也遇到了同样的问题

You have to disable the CONFIG_VIDEO_SUN6I_CSI option that comes with the mainline kernel. Some code in this repo uses the same function names, thus the multiple definition compilation error.