tbsdtv / linux_media

TBS linux open source drivers
https://github.com/tbsdtv/linux_media/wiki
Other
174 stars 80 forks source link

Ubuntu Ubuntu 20.04.3 LTS Not compiling! #264

Closed Delitants closed 1 year ago

Delitants commented 2 years ago

Amazing...

CC [M] /root/media_build/v4l/m88ds3103.o CC [M] /root/media_build/v4l/m88rs6060.o CC [M] /root/media_build/v4l/mn88472.o CC [M] /root/media_build/v4l/mn88473.o CC [M] /root/media_build/v4l/isl6422.o CC [M] /root/media_build/v4l/isl6423.o CC [M] /root/media_build/v4l/ec100.o CC [M] /root/media_build/v4l/ds3000.o /root/media_build/v4l/m88rs6060.c: In function 'si5351_write': /root/media_build/v4l/m88rs6060.c:302:5: warning: unused variable 'val' [-Wunused-variable] 302 u8 val; ^~~ /root/media_build/v4l/m88rs6060.c: In function 'si5351_write_bulk': /root/media_build/v4l/m88rs6060.c:329:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 329 struct i2c_msg msg = { ^~ /root/media_build/v4l/m88rs6060.c:336:43: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'u8 ' {aka 'unsigned char '} [-Wformat=] 336 "si5351(ret=%i, reg=0x%02x, value=0x%02x)\n", ~~~^
unsigned int
%02hhn
337 ret, reg, data);
~~~~
u8 {aka unsigned char }

/root/media_build/v4l/m88rs6060.c:323:5: warning: unused variable 'val' [-Wunused-variable] 323 | u8 val; | ^~~ In file included from ./include/linux/printk.h:354, from ./include/linux/kernel.h:14, from ./include/asm-generic/bug.h:18, from ./arch/x86/include/asm/bug.h:83, from ./include/linux/bug.h:5, from ./include/linux/mmdebug.h:5, from /root/media_build/v4l/config-compat.h:12, from /root/media_build/v4l/compat.h:10, from : /root/media_build/v4l/m88rs6060.c: In function 'si5351_read': /root/media_build/v4l/m88rs6060.c:370:24: warning: too many arguments for format [-Wformat-extra-args] 370 | dev_dbg(&client->dev, "si5351 reg 0x%02x, value 0x%02x\n", | ^~~~~~~~~~~ ./include/linux/dynamic_debug.h:135:39: note: in definition of macro 'dynamic_dev_dbg' 135 | __dynamic_dev_dbg(&descriptor, dev, fmt, \ | ^~~ /root/media_build/v4l/m88rs6060.c:370:2: note: in expansion of macro 'dev_dbg' 370 | dev_dbg(&client->dev, "si5351 reg 0x%02x, value 0x%02x\n", | ^~~ /root/media_build/v4l/m88rs6060.c:348:11: warning: unused variable 'val' [-Wunused-variable] 348 | unsigned val; | ^~~ /root/media_build/v4l/m88rs6060.c: In function 'si5351_set_pll': /root/media_build/v4l/m88rs6060.c:508:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 508 | u8 params[30]; | ^~ /root/media_build/v4l/m88rs6060.c: In function 'si5351_set_freq': /root/media_build/v4l/m88rs6060.c:842:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 842 | u8 params[30]; | ^~ At top level: /root/media_build/v4l/m88rs6060.c:595:13: warning: 'si5351_drive_strength' defined but not used [-Wunused-function] 595 | static void si5351_drive_strength(struct m88rs6060_dev dev, enum si5351_clock clk, enum si5351_drive drive) | ^~~~~ /root/media_build/v4l/m88rs6060.c:562:13: warning: 'si5351_clock_enable' defined but not used [-Wunused-function] 562 | static void si5351_clock_enable(struct m88rs6060_dev dev,enum si5351_clock clk, u8 enable) | ^~~~~~~ CC [M] /root/media_build/v4l/ts2020.o CC [M] /root/media_build/v4l/mb86a16.o CC [M] /root/media_build/v4l/drxj.o CC [M] /root/media_build/v4l/mb86a20s.o CC [M] /root/media_build/v4l/ix2505v.o CC [M] /root/media_build/v4l/stv0367.o CC [M] /root/media_build/v4l/cxd2820r_core.o CC [M] /root/media_build/v4l/cxd2820r_c.o CC [M] /root/media_build/v4l/cxd2820r_t.o CC [M] /root/media_build/v4l/cxd2820r_t2.o CC [M] /root/media_build/v4l/cxd2841er.o CC [M] /root/media_build/v4l/drxk_hard.o CC [M] /root/media_build/v4l/tda18271c2dd.o CC [M] /root/media_build/v4l/stv0910.o CC [M] /root/media_build/v4l/stv6111.o CC [M] /root/media_build/v4l/mxl5xx.o CC [M] /root/media_build/v4l/si2165.o CC [M] /root/media_build/v4l/a8293.o CC [M] /root/media_build/v4l/sp2.o CC [M] /root/media_build/v4l/tda10071.o CC [M] /root/media_build/v4l/rtl2830.o CC [M] /root/media_build/v4l/rtl2832.o CC [M] /root/media_build/v4l/rtl2832_sdr.o CC [M] /root/media_build/v4l/m88rs2000.o CC [M] /root/media_build/v4l/af9033.o CC [M] /root/media_build/v4l/as102_fe.o CC [M] /root/media_build/v4l/gp8psk-fe.o CC [M] /root/media_build/v4l/tc90522.o CC [M] /root/media_build/v4l/mn88443x.o In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:6:8: error: redefinition of 'struct frame_vector' 6 | struct frame_vector { | ^~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1444:8: note: originally defined here 1444 | struct frame_vector { | ^~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:16:22: error: conflicting types for 'frame_vector_create' 16 | struct frame_vector frame_vector_create(unsigned int nr_frames); | ^~~~~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1454:22: note: previous declaration of 'frame_vector_create' was here 1454 | struct frame_vector frame_vector_create(unsigned int nr_frames); | ^~~~~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:17:6: error: conflicting types for 'frame_vector_destroy' 17 | void frame_vector_destroy(struct frame_vector vec); | ^~~~~~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1455:6: note: previous declaration of 'frame_vector_destroy' was here 1455 | void frame_vector_destroy(struct frame_vector vec); | ^~~~~~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:18:5: error: conflicting types for 'get_vaddr_frames' 18 | int get_vaddr_frames(unsigned long start, unsigned int nr_pfns, | ^~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1456:5: note: previous declaration of 'get_vaddr_frames' was here 1456 | int get_vaddr_frames(unsigned long start, unsigned int nr_pfns, | ^~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:20:6: error: conflicting types for 'put_vaddr_frames' 20 | void put_vaddr_frames(struct frame_vector vec); | ^~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1458:6: note: previous declaration of 'put_vaddr_frames' was here 1458 | void put_vaddr_frames(struct frame_vector vec); | ^~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:21:5: error: conflicting types for 'frame_vector_to_pages' 21 | int frame_vector_to_pages(struct frame_vector vec); | ^~~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1459:5: note: previous declaration of 'frame_vector_to_pages' was here 1459 | int frame_vector_to_pages(struct frame_vector vec); | ^~~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:22:6: error: conflicting types for 'frame_vector_to_pfns' 22 | void frame_vector_to_pfns(struct frame_vector vec); | ^~~~~~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1460:6: note: previous declaration of 'frame_vector_to_pfns' was here 1460 | void frame_vector_to_pfns(struct frame_vector vec); | ^~~~~~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:24:28: error: conflicting types for 'frame_vector_count' 24 | static inline unsigned int frame_vector_count(struct frame_vector vec) | ^~~~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1462:28: note: previous definition of 'frame_vector_count' was here 1462 | static inline unsigned int frame_vector_count(struct frame_vector vec) | ^~~~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:29:29: error: conflicting types for 'frame_vector_pages' 29 | static inline struct page frame_vector_pages(struct frame_vector *vec) | ^~~~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1467:29: note: previous definition of 'frame_vector_pages' was here 1467 | static inline struct page frame_vector_pages(struct frame_vector vec) | ^~~~~~ In file included from /root/media_build/v4l/../linux/include/media/videobuf2-core.h:21, from /root/media_build/v4l/../linux/include/media/dvb_vb2.h:21, from /root/media_build/v4l/../linux/include/media/dmxdev.h:38, from /root/media_build/v4l/dvb_usb.h:20, from /root/media_build/v4l/rtl2832_sdr.c:12: /root/media_build/v4l/../linux/include/media/frame_vector.h:40:30: error: conflicting types for 'frame_vector_pfns' 40 | static inline unsigned long frame_vector_pfns(struct frame_vector vec) | ^~~~~ In file included from ./include/linux/scatterlist.h:8, from ./include/linux/dma-mapping.h:11, from /root/media_build/v4l/compat.h:1149, from : ./include/linux/mm.h:1478:30: note: previous definition of 'frame_vector_pfns' was here 1478 | static inline unsigned long frame_vector_pfns(struct frame_vector vec) | ^~~~~ CC [M] /root/media_build/v4l/tas2101.o make[3]: [scripts/Makefile.build:340: /root/media_build/v4l/rtl2832_sdr.o] Error 1 make[3]: * Waiting for unfinished jobs.... /root/media_build/v4l/tas2101.c: In function 'tas2101_attach': /root/media_build/v4l/tas2101.c:683:1: warning: label 'err1' defined but not used [-Wunused-label] 683 | err1: | ^~~~ make[2]: [Makefile:1591: module/root/media_build/v4l] Error 2 make[2]: Leaving directory '/usr/src/linux-headers-4.15.0-151202109090909-generic' make[1]: [Makefile:53: default] Error 2 make[1]: Leaving directory '/root/media_build/v4l' make: *** [Makefile:26: all] Error 2

Delitants commented 2 years ago

Regardless of kernel version (4.15, 5.3, 5.4) it's not compiling on 20.04.3 LTS.

Had to upgrade to 21.04 (non-LTS) with "do-release-upgrade" command. Kernel 5.11.0-38. Drivers compiled OK.

noz1380 commented 2 years ago

I'm currently trying on 20.04.3 LTS with kernel 5.4.0-90-generic.

"make allyesconfig" gives me the following:

WARNING: This is the V4L/DVB backport tree, with experimental drivers backported to run on legacy kernels from the development tree at: http://git.linuxtv.org/media-tree.git. It is generally safe to use it for testing a new driver or feature, but its usage on production environments is risky. Don't use it in production. You've been warned. CEC_CROS_EC: Requires at least kernel 9.255.255 V4L2_H264: Requires at least kernel 9.255.255 VIDEO_IPU3_CIO2: Requires at least kernel 9.255.255 VIDEO_OMAP3: Requires at least kernel 9.255.255 VIDEO_ROCKCHIP_ISP1: Requires at least kernel 9.255.255 VIDEO_IMX258: Requires at least kernel 9.255.255 VIDEO_IMX274: Requires at least kernel 9.255.255 VIDEO_OV02A10: Requires at least kernel 9.255.255 VIDEO_OV772X: Requires at least kernel 9.255.255 VIDEO_OV9650: Requires at least kernel 9.255.255 SND_BT87X: Requires at least kernel 9.255.255 INTEL_ATOMISP: Requires at least kernel 9.255.255 VIDEO_HANTRO: Requires at least kernel 9.255.255 VIDEO_ROCKCHIP_VDEC: Requires at least kernel 9.255.255 VIDEO_IPU3_IMGU: Requires at least kernel 9.255.255 Created default (all yes) .config file ./scripts/fix_kconfig.pl make[1]: Leaving directory '/home/mark/tbsdrivers/media_build/v4l'

crazycat69 commented 2 years ago

look good

crazycat69 commented 1 year ago

Updated, now compatible with 4.14 - 6.2