tbsdtv / linux_media

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

Compilation error with Linux 6.9 - TBS6904SE #351

Open jansohn opened 1 month ago

jansohn commented 1 month ago

Starts failing to build with linux kernel 6.9 on my system. 6.8 was working correctly.

DKMS make.log for tbs_6904_se-6.9 for kernel 6.9.1-arch1-2 (x86_64)
Thu May 23 11:36:52 PM CEST 2024
make: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build'
make -C linux/ dir DIR="../../media"
make[1]: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/linux'
rm -rf drivers include sound mm .patches_applied .linked_dir .git_log.md5 git_log kernel_version.h
Searching in ../../media/Makefile for kernel version.
./use_dir.pl ../../media
sync file: include/linux/mmc/sdio_ids.h
sync file: include/uapi/linux/v4l2-mediabus.h
sync file: include/trace/events/v4l2.h
sync file: include/misc/altera.h
sync file: include/linux/dma/xilinx_dma.h
sync file: include/uapi/linux/ivtvfb.h
sync file: include/uapi/linux/v4l2-dv-timings.h
sync file: sound/pci/bt87x.c
sync file: include/uapi/linux/usb/video.h
sync file: include/uapi/linux/cec-funcs.h
sync file: include/uapi/linux/xilinx-v4l2-controls.h
sync file: include/linux/atmel-isc-media.h
sync file: include/trace/events/pwc.h
sync file: include/uapi/linux/media-bus-format.h
sync file: include/trace/events/vb2.h
sync file: include/linux/usb/uvc.h
sync file: include/linux/overflow.h
sync file: include/linux/fixp-arith.h
sync file: include/uapi/linux/smiapp.h
sync file: include/linux/of_graph.h
sync file: include/uapi/linux/videodev2.h
sync file: include/linux/kconfig.h
sync file: include/uapi/linux/media.h
sync file: include/linux/ti_wilink_st.h
sync file: include/linux/pci_ids.h
sync file: include/uapi/linux/max2175.h
sync file: include/uapi/linux/ccs.h
sync file: include/uapi/linux/v4l2-subdev.h
sync file: include/uapi/linux/uvcvideo.h
sync file: include/uapi/linux/v4l2-common.h
sync file: include/uapi/linux/lirc.h
sync file: include/linux/via-core.h
sync file: include/uapi/linux/cec.h
sync file: include/uapi/linux/v4l2-controls.h
sync file: include/linux/hdmi.h
sync file: include/uapi/linux/ivtv.h
sync file: include/sound/aci.h
sync dir: drivers/media/
sync dir: include/dt-bindings/media/
sync dir: include/linux/platform_data/media/
sync dir: drivers/misc/altera-stapl/
sync dir: include/uapi/linux/dvb/
sync dir: drivers/staging/media/
sync dir: include/media/
make[1]: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/linux'
make: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build'
make: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build'
make -C /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l
make[1]: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l'
No version yet, using 6.7.0-arch3-1
Updating/Creating .config
make[2]: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/linux'
Syncing with dir ../../media
Applying patches for kernel 6.9.1-arch1-2
patch -s -f -N -p1 -i ../backports/api_version.patch
patch -s -f -N -p1 -i ../backports/pr_fmt.patch
patch -s -f -N -p1 -i ../backports/debug.patch
patch -s -f -N -p1 -i ../backports/drx39xxj.patch
patch -s -f -N -p1 -i ../backports/ccs.patch
patch -s -f -N -p1 -i ../backports/rc-cec.patch
Patched drivers/media/dvb-core/dvbdev.c
Patched drivers/media/v4l2-core/v4l2-dev.c
Patched drivers/media/rc/rc-main.c
Syncing with dir ../../media
make[2]: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/linux'
./scripts/make_kconfig.pl /lib/modules/6.9.1-arch1-2/build /lib/modules/6.9.1-arch1-2/build
Preparing to compile for kernel version 6.7.0

***WARNING:*** You do not have the full kernel sources installed.
This does not prevent you from building the v4l-dvb tree if you have the
kernel headers, but the full kernel source may be required in order to use
make menuconfig / xconfig / qconfig.

If you are experiencing problems building the v4l-dvb tree, please try
building against a vanilla kernel before reporting a bug.

Vanilla kernels are available at http://kernel.org.
On most distros, this will compile a newly downloaded kernel:

cp /boot/config-`uname -r` <your kernel dir>/.config
cd <your kernel dir>
make all modules_install install

Please see your distro's web site for instructions to build a new kernel.

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.
VIDEO_ROCKCHIP_ISP1: Requires at least kernel 9.255.255
VIDEO_XILINX: 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
VIDEO_TC358746: Requires at least kernel 9.255.255
INTEL_ATOMISP: Requires at least kernel 9.255.255
VIDEO_IPU3_IMGU: Requires at least kernel 9.255.255
./scripts/make_myconfig.pl
scripts/make_makefile.pl
[ ! -f "./config-mycompat.h" ] && echo "/* empty config-mycompat.h */" > "./config-mycompat.h" || true
perl scripts/make_config_compat.pl /lib/modules/6.9.1-arch1-2/build ./.myconfig ./config-compat.h
creating symbolic links...
make -C firmware prep
make[2]: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/firmware'
make[2]: Nothing to be done for 'prep'.
make[2]: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/firmware'
make -C firmware
make[2]: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/firmware'
make[2]: Nothing to be done for 'default'.
make[2]: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/firmware'
Kernel build directory is /lib/modules/6.9.1-arch1-2/build
make -C ../linux apply_patches
make[2]: Entering directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/linux'
Syncing with dir ../../media
Patches for 6.9.1-arch1-2 already applied.
make[2]: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/linux'
make -C /lib/modules/6.9.1-arch1-2/build M=/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l  modules
make[2]: Entering directory '/usr/lib/modules/6.9.1-arch1-2/build'
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6000t.o
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/tuner-simple.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-subdev.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-mc.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/tuner.h:14,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/tuner-simple.c:11:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/tuner-types.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-subdev.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-mc.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/tuner.h:14,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/tuner-types.c:10:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/tas2101.o
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/tas2101.c: In function 'tas2101_attach':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/tas2101.c:683:1: warning: label 'err1' defined but not used [-Wunused-label]
  683 | err1:
      | ^~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/gx1133.o
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/gx1133.c: In function 'gx1133_set_frontend':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/gx1133.c:1537:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
 1537 |         if (ret)
      |         ^~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/gx1133.c:1540:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
 1540 |                 if (fe->ops.tuner_ops.set_params) {
      |                 ^~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.o
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c: In function 'si5351_write':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:352:12: warning: unused variable 'val' [-Wunused-variable]
  352 |         u8 val;
      |            ^~~
In file included from ./include/linux/device.h:15,
                 from ./include/linux/input.h:19,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/compat.h:47,
                 from <command-line>:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c: In function 'si5351_write_bulk':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:386:25: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'u8 *' {aka 'unsigned char *'} [-Wformat=]
  386 |                         "si5351(ret=%i, reg=0x%02x, value=0x%02x)\n",
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
  110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
      |                              ^~~
./include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
  144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
      |                                                        ^~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:385:17: note: in expansion of macro 'dev_err'
  385 |                 dev_err(&i2c->dev,
      |                 ^~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:386:64: note: format string is defined here
  386 |                         "si5351(ret=%i, reg=0x%02x, value=0x%02x)\n",
      |                                                             ~~~^
      |                                                                |
      |                                                                unsigned int
      |                                                             %02hhn
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:373:12: warning: unused variable 'val' [-Wunused-variable]
  373 |         u8 val;
      |            ^~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c: In function 'si5351_read':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:398:18: warning: unused variable 'val' [-Wunused-variable]
  398 |         unsigned val;
      |                  ^~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c: At top level:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:549:6: warning: no previous prototype for 'si5351_set_pll' [-Wmissing-prototypes]
  549 | void si5351_set_pll(struct si5351_priv *priv,u32 pll_freq, enum si5351_pll target_pll)
      |      ^~~~~~~~~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c: In function 'm88rs6060_init':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:2215:29: warning: unused variable 'i2c' [-Wunused-variable]
 2215 |         struct i2c_adapter *i2c = dev->base->i2c;
      |                             ^~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c: In function 'm88rs6060_get_frontend':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:3186:29: warning: unused variable 'i2c' [-Wunused-variable]
 3186 |         struct i2c_adapter *i2c = dev->base->i2c;
      |                             ^~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c: At top level:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/m88rs6060.c:645:13: warning: 'si5351_drive_strength' defined but not used [-Wunused-function]
  645 | static void si5351_drive_strength(struct si5351_priv *priv, enum si5351_clock clk, enum si5351_drive drive)
      |             ^~~~~~~~~~~~~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-dv-timings.o
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-dev.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-dev.c:30:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-ioctl.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-ioctl.c:23:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-device.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-subdev.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-device.h:13,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-device.c:14:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-fh.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-subdev.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-mc.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-fh.c:19:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-event.o
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-subdev.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-subdev.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-device.h:13,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-subdev.c:23:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-common.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-common.c:46:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-ctrls-core.o
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-ctrls-api.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-subdev.h:15,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-device.h:13,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-ctrls-api.c:16:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-ctrls-request.o
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-ctrls-defs.o
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-compat-ioctl32.o
  CC [M]  /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.o
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c:8:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:287:24: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
  287 |                 struct spi_master *master, struct spi_board_info *info);
      |                        ^~~~~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c:37:48: warning: 'struct spi_master' declared inside parameter list will not be visible outside of this definition or declaration
   37 |                                         struct spi_master *master,
      |                                                ^~~~~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c:36:21: error: conflicting types for 'v4l2_spi_new_subdev'; have 'struct v4l2_subdev *(struct v4l2_device *, struct spi_master *, struct spi_board_info *)'
   36 | struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,
      |                     ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:286:21: note: previous declaration of 'v4l2_spi_new_subdev' with type 'struct v4l2_subdev *(struct v4l2_device *, struct spi_master *, struct spi_board_info *)'
  286 | struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,
      |                     ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c: In function 'v4l2_spi_new_subdev':
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c:48:30: error: passing argument 1 of 'spi_new_device' from incompatible pointer type [-Wincompatible-pointer-types]
   48 |         spi = spi_new_device(master, info);
      |                              ^~~~~~
      |                              |
      |                              struct spi_master *
In file included from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c:7:
./include/linux/spi/spi.h:1671:16: note: expected 'struct spi_controller *' but argument is of type 'struct spi_master *'
 1671 | spi_new_device(struct spi_controller *, struct spi_board_info *);
      |                ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/linkage.h:7,
                 from ./include/linux/printk.h:8,
                 from ./include/asm-generic/bug.h:22,
                 from ./arch/x86/include/asm/bug.h:87,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/mmdebug.h:5,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/config-compat.h:12,
                 from /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/compat.h:10,
                 from <command-line>:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c: At top level:
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c:78:19: error: conflicting types for 'v4l2_spi_new_subdev'; have 'struct v4l2_subdev *(struct v4l2_device *, struct spi_master *, struct spi_board_info *)'
   78 | EXPORT_SYMBOL_GPL(v4l2_spi_new_subdev);
      |                   ^~~~~~~~~~~~~~~~~~~
./include/linux/export.h:56:28: note: in definition of macro '__EXPORT_SYMBOL'
   56 |         extern typeof(sym) sym;                                 \
      |                            ^~~
./include/linux/export.h:69:41: note: in expansion of macro '_EXPORT_SYMBOL'
   69 | #define EXPORT_SYMBOL_GPL(sym)          _EXPORT_SYMBOL(sym, "GPL")
      |                                         ^~~~~~~~~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.c:78:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
   78 | EXPORT_SYMBOL_GPL(v4l2_spi_new_subdev);
      | ^~~~~~~~~~~~~~~~~
/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/../linux/include/media/v4l2-common.h:286:21: note: previous declaration of 'v4l2_spi_new_subdev' with type 'struct v4l2_subdev *(struct v4l2_device *, struct spi_master *, struct spi_board_info *)'
  286 | struct v4l2_subdev *v4l2_spi_new_subdev(struct v4l2_device *v4l2_dev,
      |                     ^~~~~~~~~~~~~~~~~~~
make[4]: *** [scripts/Makefile.build:244: /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l/v4l2-spi.o] Error 1
make[3]: *** [/usr/lib/modules/6.9.1-arch1-2/build/Makefile:1919: /var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l] Error 2
make[2]: *** [Makefile:240: __sub-make] Error 2
make[2]: Leaving directory '/usr/lib/modules/6.9.1-arch1-2/build'
make[1]: *** [Makefile:53: default] Error 2
make[1]: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build/v4l'
make: *** [Makefile:26: all] Error 2
make: Leaving directory '/var/lib/dkms/tbs_6904_se/6.9/build/media_build'
TBScardOwner commented 1 month ago

I can confirm error on OpenSuSE Tumblewed with Kernel 6.9.1

alfrup commented 1 month ago

I can confirm error on OpenSuSE Tumblewed with Kernel 6.9.1 too.

miguel1963 commented 1 month ago

Also same bug in Tumbleweed 6.9.1

jal-frezie commented 2 days ago

To fix this you have to replace every occurrence of 'spi_master' in the code with 'spi_controller', and every occurrence of '[un]register_master' with '[un]register_controller'.

crazycat69 commented 1 day ago

tbsdtv/media_build and tbsdtv/linux_media updated for 6.9 compatibility. Please check