tbsdtv / linux_media

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

Module msi001 doesn't compile #283

Closed paorie closed 1 year ago

paorie commented 2 years ago

Hi, i'm trying compile last releace but it fails at this module. Is there any way to skip it? tnks

Archlinux 5.18.1-arch1-1 gcc version 12.1.0 (GCC)

/tbs-linux_media-git/src/media_build/v4l/msi001.c:504:27: error: initialization of 'void (*)(struct spi_device *)' from incompatible pointer type 'int (*)(struct spi_device *)' 
[-Werror=incompatible-pointer-types]
  504 |         .remove         = msi001_remove,
      |                           ^~~~~~~~~~~~~
paorie commented 2 years ago

Ok with kernel 5.15.44-1-lts

elkizana commented 2 years ago

same for me v18.2

tryptichon commented 2 years ago

I have the same error on Fedora 36 after the lates kernel update as well:

root/git/media_build/v4l/msi001.c:504:27: error: initialization of 'void (*)(struct spi_device *)' from incompatible pointer type 'int (*)(struct spi_device *)' [-Werror=incompatible-pointer-types]
  504 |         .remove         = msi001_remove,
      |                           ^~~~~~~~~~~~~
/root/git/media_build/v4l/msi001.c:504:27: note: (near initialization for 'msi001_driver.remove')
Linux version 5.18.5-200.fc36.x86_64 (mockbuild@bkernel01.iad2.fedoraproject.org) (gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1), GNU ld version 2.37-27.fc36) #1 SMP PREEMPT_DYNAMIC Thu Jun 16 14:51:11 UTC 2022
tryptichon commented 2 years ago

Update 23.07.2022 / 08:00 CEST: The project here seems to have been updated and fixed by the maintainer. Please do NOT use the patch anymore. Tested on Fedora 36 with kernel 5.18.13-200.

Please clone the respective repositories anew and build as described in the accompanying documentation.

Me again. I hacked together a patch for the v4l kernel code. After applying this, the code was able to compile on kernel 5.18.5-200 from Fedora 36.

kernel_v4l_update.zip

Unzip the file, put it in the directory next to the folder media then

cd media patch -p1 -i ../kernel_v4l_update.patch

THIS IS A WILD HACK PATCHED TOGETHER FROM VARIOUS SOURCES, SO USE THAT AT YOUR OWN RISK!! ;)

tryptichon commented 2 years ago

Kernel 5.18.6-200 on Fedora 36 works as well with this patch. Just tested. :)

TBScardOwner commented 2 years ago

Patch works fine on Opensuse Tumbleweed with vanilla kernel 5.18.6. Thank you Tryptichon.