Skip to contentSkip to conversation

v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS

cron job NAK Hans Verkuil 4 participants 5 messages Jan 14, 2010 – Jan 16, 2010 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

This message is generated daily by a cron job that builds v4l-dvb for the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:        Thu Jan 14 19:00:05 CET 2010
path:        http://www.linuxtv.org/hg/v4l-dvb
changeset:   13972:725c07a70453
gcc version: gcc (GCC) 4.3.1
hardware:    x86_64
host os:     2.6.26

linux-2.6.30-armv5: OK
linux-2.6.31-armv5: OK
linux-2.6.32-armv5: OK
linux-2.6.33-rc2-armv5: OK
linux-2.6.32-armv5-davinci: OK
linux-2.6.33-rc2-armv5-davinci: OK
linux-2.6.30-armv5-ixp: OK
linux-2.6.31-armv5-ixp: OK
linux-2.6.32-armv5-ixp: OK
linux-2.6.33-rc2-armv5-ixp: OK
linux-2.6.30-armv5-omap2: OK
linux-2.6.31-armv5-omap2: OK
linux-2.6.32-armv5-omap2: OK
linux-2.6.33-rc2-armv5-omap2: OK
linux-2.6.22.19-i686: WARNINGS
linux-2.6.23.12-i686: ERRORS
linux-2.6.24.7-i686: ERRORS
linux-2.6.25.11-i686: ERRORS
linux-2.6.26-i686: ERRORS
linux-2.6.27-i686: ERRORS
linux-2.6.28-i686: ERRORS
linux-2.6.29.1-i686: ERRORS
linux-2.6.30-i686: ERRORS
linux-2.6.31-i686: ERRORS
linux-2.6.32-i686: ERRORS
linux-2.6.33-rc2-i686: OK
linux-2.6.30-m32r: OK
linux-2.6.31-m32r: OK
linux-2.6.32-m32r: OK
linux-2.6.33-rc2-m32r: OK
linux-2.6.30-mips: OK
linux-2.6.31-mips: OK
linux-2.6.32-mips: OK
linux-2.6.33-rc2-mips: OK
linux-2.6.30-powerpc64: ERRORS
linux-2.6.31-powerpc64: ERRORS
linux-2.6.32-powerpc64: ERRORS
linux-2.6.33-rc2-powerpc64: OK
linux-2.6.22.19-x86_64: WARNINGS
linux-2.6.23.12-x86_64: ERRORS
linux-2.6.24.7-x86_64: ERRORS
linux-2.6.25.11-x86_64: ERRORS
linux-2.6.26-x86_64: ERRORS
linux-2.6.27-x86_64: ERRORS
linux-2.6.28-x86_64: ERRORS
linux-2.6.29.1-x86_64: ERRORS
linux-2.6.30-x86_64: ERRORS
linux-2.6.31-x86_64: ERRORS
linux-2.6.32-x86_64: ERRORS
linux-2.6.33-rc2-x86_64: OK
spec: OK
sparse (linux-2.6.32): ERRORS
sparse (linux-2.6.33-rc2): ERRORS
linux-2.6.16.61-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: ERRORS
linux-2.6.19.5-i686: WARNINGS
linux-2.6.20.21-i686: WARNINGS
linux-2.6.21.7-i686: WARNINGS
linux-2.6.16.61-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: ERRORS
linux-2.6.19.5-x86_64: WARNINGS
linux-2.6.20.21-x86_64: WARNINGS
linux-2.6.21.7-x86_64: WARNINGS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Thursday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Thursday.tar.bz2

The V4L-DVB specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html

#1 lore raw
Quoted 8 lines · Hans Verkuil

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Thursday.log

linux-2.6.32-i686: ERRORS

/marune/build/v4l-dvb-master/v4l/cx23888-ir.c: In function 'cx23888_ir_irq_handler': CC [M] /marune/build/v4l-dvb-master/v4l/cx23885-f300.o

Quoted 15 lines

/marune/build/v4l-dvb-master/v4l/cx23888-ir.c:621: error: implicit declaration of function 'kfifo_in_locked' /marune/build/v4l-dvb-master/v4l/cx23888-ir.c: In function 'cx23888_ir_rx_read':
/marune/build/v4l-dvb-master/v4l/cx23888-ir.c:688: error: implicit declaration of function 'kfifo_out_locked' /marune/build/v4l-dvb-master/v4l/cx23888-ir.c: In function 'cx23888_ir_probe':
/marune/build/v4l-dvb-master/v4l/cx23888-ir.c:1243: warning: passing argument 1 of 'kfifo_alloc' makes integer from pointer without a cast include/linux/kfifo.h:37: note: expected 'unsigned int' but argument is of type 'struct kfifo *' /marune/build/v4l-dvb-master/v4l/cx23888-ir.c:1243: warning: passing argument 3 of 'kfifo_alloc' makes pointer from integer without a cast include/linux/kfifo.h:37: note: expected 'struct spinlock_t *' but argument is of type 'unsigned int'
make[3]: *** [/marune/build/v4l-dvb-master/v4l/cx23888-ir.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [_module_/marune/build/v4l-dvb-master/v4l] Error 2
make[2]: Leaving directory `/marune/build/trees/i686/linux-2.6.32'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/marune/build/v4l-dvb-master/v4l'
make: *** [all] Error 2

As I can see in the include/linux/kfifo.h ( http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=include/linux/kfifo.h ) there is renaming of
- kfifo_put into kfifo_in_locked
- kfifo_get into kfifo_out_locked

Possible solutions would be:

a) disable the compiling of cx23888-ir.c before 2.6.33

b) adding something like this to v4l/compat.h:

#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
#define kfifo_in_locked kfifo_put
#define kfifo_out_locked kfifo_get
#endif

What do you think the best way would be?

Regards,

Márton Németh

#2 lore raw

Hi Németh,

Quoted 41 lines · On Thursday 14 January 2010 21:22:44 Németh Márton wrote:
Quoted 23 lines · Hans Verkuil

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Thursday.log

linux-2.6.32-i686: ERRORS

/marune/build/v4l-dvb-master/v4l/cx23888-ir.c: In function 'cx23888_ir_irq_handler': CC [M] /marune/build/v4l-dvb-master/v4l/cx23885-f300.o

/marune/build/v4l-dvb-master/v4l/cx23888-ir.c:621: error: implicit declaration of function 'kfifo_in_locked' /marune/build/v4l-dvb-master/v4l/cx23888-ir.c: In function 'cx23888_ir_rx_read': /marune/build/v4l-dvb-master/v4l/cx23888-ir.c:688:
error: implicit declaration of function 'kfifo_out_locked' /marune/build/v4l-dvb-master/v4l/cx23888-ir.c: In function 'cx23888_ir_probe': /marune/build/v4l-dvb-master/v4l/cx23888-ir.c:1243:
warning: passing argument 1 of 'kfifo_alloc' makes integer from pointer without a cast include/linux/kfifo.h:37: note: expected 'unsigned int' but argument is of type 'struct kfifo *' /marune/build/v4l-dvb-master/v4l/cx23888-ir.c:1243: warning: passing argument 3 of 'kfifo_alloc' makes pointer from integer without a cast include/linux/kfifo.h:37: note: expected 'struct spinlock_t *' but

Quoted 8 lines

argument is of type 'unsigned int' make[3]: *** [/marune/build/v4l-dvb-master/v4l/cx23888-ir.o] Error 1 make[3]: *** Waiting for unfinished jobs....
make[2]: *** [_module_/marune/build/v4l-dvb-master/v4l] Error 2 make[2]: Leaving directory `/marune/build/trees/i686/linux-2.6.32' make[1]: *** [default] Error 2
make[1]: Leaving directory `/marune/build/v4l-dvb-master/v4l'
make: *** [all] Error 2

As I can see in the include/linux/kfifo.h (
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history
;f=include/linux/kfifo.h ) there is renaming of
- kfifo_put into kfifo_in_locked
- kfifo_get into kfifo_out_locked

Possible solutions would be:

Quoted 8 lines

a) disable the compiling of cx23888-ir.c before 2.6.33

b) adding something like this to v4l/compat.h:

#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
#define kfifo_in_locked kfifo_put
#define kfifo_out_locked kfifo_get
#endif

I don't think that would be enough. The kfifo API has changed quite a lot in 2.6.33. It will be difficult to handle that solely through compat.h. Conditional compilation based on the kernel version would probably be needed in the cx23888 driver itself.

Signature · 3 lines
Regards,

Laurent Pinchart
#3 lore raw

PATCH 1/1 disable building cx23885 before 2.6.33

From: Márton Németh <[email protected]>

The cx23885 driver does not compile before Linux kernel 2.6.33 because of incompatible fifo API changes. Disable this driver being built before 2.6.33.

---

v4l/versions.txt +4 -0
diff -r 5bcdcc072b6d v4l/versions.txt
@@ -1,6 +1,10 @@
 # Use this for stuff for drivers that don't compile
 [2.6.99]
 
+[2.6.33]
+# Incompatible fifo API changes, see <linux/kfifo.h>
+VIDEO_CX23885
+
 [2.6.32]
 # These rely on arch support that wasn't available until 2.6.32
 VIDEO_SH_MOBILE_CEU
#4 lore raw

Re: [PATCH] disable building cx23885 before 2.6.33

Quoted 7 lines · Németh Márton

From: Márton Németh <[email protected]>

The cx23885 driver does not compile before Linux kernel 2.6.33 because of incompatible fifo API changes. Disable this driver being built before 2.6.33.

Nak.

1. You forgot meye - it's broken as well in the same way.
2. Douglas has issuesd a PULL request for a back port fix that will resolve the issue.

Regards,
Andy

Quoted 16 lines

---
diff -r 5bcdcc072b6d v4l/versions.txt

v4l/versions.txt +4 -0
@@ -1,6 +1,10 @@
 # Use this for stuff for drivers that don't compile
 [2.6.99]
 
+[2.6.33]
+# Incompatible fifo API changes, see <linux/kfifo.h>
+VIDEO_CX23885
+
 [2.6.32]
 # These rely on arch support that wasn't available until 2.6.32
 VIDEO_SH_MOBILE_CEU