tbsdtv / linux_media

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

[dvbdev.c] compilation error: assignment from incompatible pointer type #332

Closed pszemus closed 1 year ago

pszemus commented 1 year ago

AlmaLinux 9 with default kernel: 5.14 compilation error:

/tbs-linux-drivers/media_build/v4l/dvbdev.c: In function 'init_dvbdev':
/tbs-linux-drivers/media_build/v4l/dvbdev.c:1099:31: error: assignment to 'int (*)(const struct device *, struct kobj_uevent_env *)' from incompatible pointer type 'int (*)(struct device *, struct kobj_uevent_env *)' [-Werror=incompatible-pointer-types]
 1099 |         dvb_class->dev_uevent = dvb_uevent;
      |                               ^
/tbs-linux-drivers/media_build/v4l/dvbdev.c:1100:28: error: assignment to 'char * (*)(const struct device *, umode_t *)' {aka 'char * (*)(const struct device *, short unsigned int *)'} from incompatible pointer type 'char * (*)(struct device *, umode_t *)' {aka 'char * (*)(struct device *, short unsigned int *)'} [-Werror=incompatible-pointer-types]
 1100 |         dvb_class->devnode = dvb_devnode;
      |
crazycat69 commented 1 year ago

Maybe kernel with forced backport patches ? Need disable some media_build backport patches (v6.1_class.patch) in media_build/backports/backports.txt

pszemus commented 1 year ago

That's it! RedHat backported lot of changes to kernel 5.14.0_362 in AlmaLinux 9.3 (iteration #362 !!!), even from kernel 6.1 :-o By trial and error i came up with the following backports.txt addition:

+[5.14.0]
+delete v6.1_class.patch
+delete v5.18_rc.patch
+delete v5.17_iosys.patch
+delete v5.14_bus_void_return.patch
+