TBS6618 linux driver will not compile under kernel 13.16.1
Posted: Sun Aug 17, 2014 8:31 pm
Dear tbs support.
After upgrading my Ubuntu 14.04 server to kernel 3.16.1 I can no longer compile the TBS6618 driver. It seems that a function call to the ‘snd_card_new’ function is no longer valid due to changed arguments.
I hope you’ll be able to resolve this problem in short notice.
Kernel details:
Console log:
After upgrading my Ubuntu 14.04 server to kernel 3.16.1 I can no longer compile the TBS6618 driver. It seems that a function call to the ‘snd_card_new’ function is no longer valid due to changed arguments.
I hope you’ll be able to resolve this problem in short notice.
Kernel details:
- Code: Select All Code
root@kabsan:/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers# uname -a
Linux kabsan 3.16.1-031601-generic #201408140014 SMP Thu Aug 14 04:15:26 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Console log:
- Code: Select All Code
root@kabsan:/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers# mkdir -p /home/jaapp/shares/sources/tbs6618
root@kabsan:/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers# cd /home/jaapp/shares/sources/tbs6618
root@kabsan:/home/jaapp/shares/sources/tbs6618# wget -O tbs-linux-drivers-latest.zip http://www.tbsdtv.com/download/document/common/tbs-linux-drivers_v140707.zip
--2014-08-17 14:03:36-- http://www.tbsdtv.com/download/document/common/tbs-linux-drivers_v140707.zip
Resolving www.tbsdtv.com (www.tbsdtv.com)... 143.95.60.2
Connecting to www.tbsdtv.com (www.tbsdtv.com)|143.95.60.2|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20666422 (20M) [application/zip]
Saving to: ‘tbs-linux-drivers-latest.zip’
100%[======================================================================================================>] 20,666,422 818KB/s in 34s
2014-08-17 14:04:10 (599 KB/s) - ‘tbs-linux-drivers-latest.zip’ saved [20666422/20666422]
root@kabsan:/home/jaapp/shares/sources/tbs6618# atool -qx tbs-linux-drivers-latest.zip
tbs-linux-drivers-latest.zip: extracted to `tbs-linux-drivers-latest' (multiple files in root)
root@kabsan:/home/jaapp/shares/sources/tbs6618# cd tbs-linux-drivers-latest
root@kabsan:/home/jaapp/shares/sources/tbs6618/tbs-linux-drivers-latest# cp dvb-usb-tbsqbox-dvbc.fw /lib/firmware/
root@kabsan:/home/jaapp/shares/sources/tbs6618/tbs-linux-drivers-latest# chown root: /lib/firmware/dvb-usb-tbsqbox-dvbc.fw
root@kabsan:/home/jaapp/shares/sources/tbs6618/tbs-linux-drivers-latest# atool -qx linux-tbs-drivers.tar.bz2
linux-tbs-drivers.tar.bz2: extracted to `linux-tbs-drivers'
root@kabsan:/home/jaapp/shares/sources/tbs6618/tbs-linux-drivers-latest# cd linux-tbs-drivers
root@kabsan:/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers# sh v4l/tbs-x86_64.sh
TBS drivers configured for x86_64 platform.
root@kabsan:/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers# rm -rf /lib/modules/$(uname -r)/kernel/drivers/media/
root@kabsan:/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers# make
make -C /home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l
make[1]: Entering directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l'
No version yet, using 3.16.1-031601-generic
make[1]: Leaving directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l'
make[1]: Entering directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l'
scripts/make_makefile.pl
Updating/Creating .config
Preparing to compile for kernel version 3.16.1
***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.
Created default (all yes) .config file
./scripts/make_myconfig.pl
make[1]: Leaving directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l'
make[1]: Entering directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l'
perl scripts/make_config_compat.pl /lib/modules/3.16.1-031601-generic/build ./.myconfig ./config-compat.h
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/firmware'
make[2]: Leaving directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/firmware'
make -C firmware
make[2]: Entering directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/firmware'
CC ihex2fw
Generating vicam/firmware.fw
Generating dabusb/firmware.fw
Generating dabusb/bitstream.bin
Generating ttusb-budget/dspbootcode.bin
Generating cpia2/stv0672_vp4.bin
Generating av7110/bootcode.bin
make[2]: Leaving directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/firmware'
Kernel build directory is /lib/modules/3.16.1-031601-generic/build
make -C /lib/modules/3.16.1-031601-generic/build SUBDIRS=/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l modules
make[2]: Entering directory `/usr/src/linux-headers-3.16.1-031601-generic'
CC [M] /home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/tuner-xc2028.o
In file included from <command-line>:0:0:
/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h: In function 'snd_card_create':
/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:657:2: warning: passing argument 1 of 'snd_card_new' makes pointer from integer without a cast [enabled by default]
*card = snd_card_new(idx, id, module, extra_size);
^
In file included from /home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:217:0,
from <command-line>:0:
include/sound/core.h:283:5: note: expected 'struct device *' but argument is of type 'int'
int snd_card_new(struct device *parent, int idx, const char *xid,
^
In file included from <command-line>:0:0:
/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:657:2: warning: passing argument 2 of 'snd_card_new' makes integer from pointer without a cast [enabled by default]
*card = snd_card_new(idx, id, module, extra_size);
^
In file included from /home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:217:0,
from <command-line>:0:
include/sound/core.h:283:5: note: expected 'int' but argument is of type 'const char *'
int snd_card_new(struct device *parent, int idx, const char *xid,
^
In file included from <command-line>:0:0:
/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:657:2: warning: passing argument 3 of 'snd_card_new' from incompatible pointer type [enabled by default]
*card = snd_card_new(idx, id, module, extra_size);
^
In file included from /home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:217:0,
from <command-line>:0:
include/sound/core.h:283:5: note: expected 'const char *' but argument is of type 'struct module *'
int snd_card_new(struct device *parent, int idx, const char *xid,
^
In file included from <command-line>:0:0:
/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:657:2: warning: passing argument 4 of 'snd_card_new' makes pointer from integer without a cast [enabled by default]
*card = snd_card_new(idx, id, module, extra_size);
^
In file included from /home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:217:0,
from <command-line>:0:
include/sound/core.h:283:5: note: expected 'struct module *' but argument is of type 'int'
int snd_card_new(struct device *parent, int idx, const char *xid,
^
In file included from <command-line>:0:0:
/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:657:2: error: too few arguments to function 'snd_card_new'
*card = snd_card_new(idx, id, module, extra_size);
^
In file included from /home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/compat.h:217:0,
from <command-line>:0:
include/sound/core.h:283:5: note: declared here
int snd_card_new(struct device *parent, int idx, const char *xid,
^
make[3]: *** [/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l/tuner-xc2028.o] Error 1
make[2]: *** [_module_/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-3.16.1-031601-generic'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/jaapp/tbs6618/tbs-linux-drivers-latest/linux-tbs-drivers/v4l'
make: *** [all] Error 2