tbsdtv / linux_media

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

Failed compilation on 6.2.4-1 kernel (mxl603 -Werror=incompatible-pointer-types errors) #308

Closed alfrup closed 1 year ago

alfrup commented 1 year ago

I need to compile a driver for a TBS6590 device. When I execute make -j4 I get the following errors:

make -C /media_build/v4l make[1]: Verzeichnis „/media_build/v4l“ wird betreten make -C firmware prep creating symbolic links... make[2]: Entering directory '/media_build/v4l/firmware' make[2]: Nothing to be done for 'prep'. make[2]: Leaving directory '/media_build/v4l/firmware' make -C firmware make[2]: Entering directory '/media_build/v4l/firmware' make[2]: Nothing to be done for 'default'. make[2]: Leaving directory '/media_build/v4l/firmware' Kernel build directory is /lib/modules/6.2.4-1-default/build make -C ../linux apply_patches make[2]: Entering directory '/media_build/linux' Syncing with dir ../../media Patches for 6.2.4-1-default already applied. make[2]: Leaving directory '/media_build/linux' make -C /lib/modules/6.2.4-1-default/build M=/media_build/v4l modules CC [M] /media_build/v4l/mxl603.o CC [M] /media_build/v4l/ascot2e.o CC [M] /media_build/v4l/atbm8830.o CC [M] /media_build/v4l/au8522_common.o /media_build/v4l/mxl603.c: In function 'mxl603_ctrl_programRegisters': /media_build/v4l/mxl603.c:58:79: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 58 ret = reg_read(dev->client,ctrlRegInfoPtr[i].regAddr, (int)&tmp); ^ /media_build/v4l/mxl603.c:58:79: warning: passing argument 3 of 'reg_read' makes pointer from integer without a cast [-Wint-conversion] 58 ret = reg_read(dev->client,ctrlRegInfoPtr[i].regAddr, (int)&tmp); ^~~~~
int

/media_build/v4l/mxl603.c:7:63: note: expected 'u8 ' {aka 'unsigned char '} but argument is of type 'int' 7 | static int reg_read(struct i2c_client client,u8 reg_addr,u8 val) | ~~^ /media_build/v4l/mxl603.c: In function 'mxl603_init': /media_build/v4l/mxl603.c:82:12: warning: unused variable 'dfeRegData' [-Wunused-variable] 82 | u8 dfeRegData; | ^~~~~~ /media_build/v4l/mxl603.c: In function 'mxl603_set_params': /media_build/v4l/mxl603.c:228:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 228 | MXL603_REG_CTRL_INFO_T MxL603_DigitalDvbc[] = | ^~~~~~ /media_build/v4l/mxl603.c: At top level: /media_build/v4l/mxl603.c:577:27: error: initialization of 'void ()(struct i2c_client )' from incompatible pointer type 'int ()(struct i2c_client )' [-Werror=incompatible-pointer-types] 577 | .remove = mxl603_remove, | ^~~~~ /media_build/v4l/mxl603.c:577:27: note: (near initialization for 'mxl603_driver.remove') cc1: some warnings being treated as errors make[3]: [/usr/src/linux-6.2.4-1/scripts/Makefile.build:253: /media_build/v4l/mxl603.o] Fehler 1 make[3]: Es wird auf noch nicht beendete Prozesse gewartet … make[2]: [../../../linux-6.2.4-1/Makefile:2036: /media_build/v4l] Error 2 make[1]: [Makefile:53: default] Fehler 2 make[1]: Verzeichnis „/media_build/v4l“ wird verlassen make: *** [Makefile:26: all] Fehler 2

crazycat69 commented 1 year ago

Update, now compatible with 4.14 - 6.2