Building the TBS tuner card drivers on 15.4 fails

Upgraded from 15.2 to 15.4 to stay current. tuner PCI card no longer works. Downloaded the TBS media build kitb again to try building and Boooom!

CC [M] /usr/src/media_build/v4l/bttv-input.o
CC [M] /usr/src/media_build/v4l/bttv-audio-hook.o
/usr/src/media_build/v4l/bttv-gpio.c:64:12: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.remove = bttv_sub_remove,
/usr/src/media_build/v4l/bttv-gpio.c:64:12: note: (near initialization for ‘bttv_sub_bus_type.remove’)
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/linux-5.14.21-150400.24.55/scripts/ /usr/src/media_build/v4l/bttv-gpio.o] Error 1
make[4]: *** Waiting for unfinished jobs…
make[3]: *** [/usr/src/linux-5.14.21-150400.24.55/Makefile:1888: /usr/src/media_build/v4l] Error 2
make[2]: *** […/…/…/linux-5.14.21-150400.24.55/Makefile:220: __sub-make] Error 2
make[2]: Leaving directory ‘/usr/src/linux-5.14.21-150400.24.55-obj/x86_64/default’
make[1]: *** [Makefile:53: default] Error 2
make[1]: Leaving directory ‘/usr/src/media_build/v4l’
make: *** [Makefile:26: all] Error 2
tvburk:/usr/src/media_build # ^C
tvburk:/usr/src/media_build # uname -a
Linux tvburk 5.14.21-150400.24.55-default #1 SMP PREEMPT_DYNAMIC Mon Mar 27 15:25:48 UTC 2023 (cc75cf8) x86_64 x86_64 x86_64 GNU/Linux
tvburk:/usr/src/media_build #

Strongly suspecting some of the backports as they have bit me in the past. But removing v5.14_bus_void_return.patch did not help.

@AndersG Hey, you need to set that error to a warning… dig into the code…


EXTRA_CFLAGS += -Wno-error=incompatible-pointer-types
1 Like

Hi! Malcolm! Been a while. I heeded your advice and upgraded :slight_smile: Great tip. But the issue seems to be in this patch:
diff --git a/drivers/media/pci/bt8xx/bttv-gpio.c b/drivers/media/pci/bt8xx/bttv-gpio.c
index a2b18e2bed1b…b730225ca887 100644
— a/drivers/media/pci/bt8xx/bttv-gpio.c
+++ b/drivers/media/pci/bt8xx/bttv-gpio.c
@@ -46,13 +46,14 @@ static int bttv_sub_probe(struct device *dev)
return sub->probe ? sub->probe(sdev) : -ENODEV;

-static void bttv_sub_remove(struct device *dev)
+static int bttv_sub_remove(struct device *dev)
struct bttv_sub_device *sdev = to_bttv_sub_dev(dev);
struct bttv_sub_driver *sub = to_bttv_sub_drv(dev->driver);

if (sub->remove)
  • return 0;

struct bus_type bttv_sub_bus_type = {

@AndersG did you try skipping that patch?

The only issue is it’s being treated as an error, AFAIK it should just be a warning…

1 Like

Yes. Doing do now, but I am short in space on / need to fix that first :slight_smile:

Yup, the error seems to be in that file. The function returns an int where it should be a void or vice versa. You need to go into backports.txt in backports, under media_build and rem out one tiny line:

#add v5.14_bus_void_return.patch

The way I have had it explained for me is that SuSe has stuff from newer kernels included and thus backports that would be needed on other distros will break things.

Now. This is a bit too close for comfort:
/dev/md126p3 41G 36G 3.3G 92% /

This is a noname box I bought in 2016 with hardware raid. It has worked well for us, but it is approaching 10 years (I conveniently ignore that I have a HP1000 A400, A HP85 A HP9000/340 and a HP9816 that are all much older than that and run just fine)

So, should I preemptively replace the disks (SATA) and put in larger at the same time, or should I fork out for a new box?

Any suggestions on stuff that I can delete on / ? All recordings and ripped music is on /home which is a different partition. I have deleted all old snapshots already.

@AndersG add some space? Maybe clean up the upgrade rpms…

du -sh  /var/cache/zypp

tvburk:~ # du -sh /var/cache/zypp
303M /var/cache/zypp

@AndersG might be time to add some bigger disks?

1 Like

Yes. That was what I thought or an entirely new server, given that it is 7 years old?

@AndersG 7 years isnt too bad if it’s just disk space being an issue?

1 Like

True. I will need to think about this. Video files tend to be bigger these days because of HD.