Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Kernel_2.4.11 and dvb-driver and 2 other things



Hi,
as you already know kernel_2.4.11 is out.

Compiling the dvb driver (latest CVS version) stops with:

...
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common
-pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS
-include /usr/src/linux/include/linux/modversions.h -I ../ost/include -I
. -D__DVB_PACK__ -g -DUSE_OSD   -c -o saa7146_core.o saa7146_core.c
saa7146_core.c:872: parse error before
`this_object_must_be_defined_as_export_objs_in_the_Makefile'
saa7146_core.c:872: warning: type defaults to `int' in declaration of
`this_object_must_be_defined_as_export_objs_in_the_Makefile'
saa7146_core.c:872: warning: data definition has no type or storage
class
saa7146_core.c:873: parse error before
`this_object_must_be_defined_as_export_objs_in_the_Makefile'
saa7146_core.c:873: warning: type defaults to `int' in declaration of
`this_object_must_be_defined_as_export_objs_in_the_Makefile'
saa7146_core.c:873: warning: data definition has no type or storage
class
saa7146_core.c:874: parse error before
`this_object_must_be_defined_as_export_objs_in_the_Makefile'
saa7146_core.c:874: warning: type defaults to `int' in declaration of
`this_object_must_be_defined_as_export_objs_in_the_Makefile'
saa7146_core.c:874: warning: data definition has no type or storage
class
make[2]: *** [saa7146_core.o] Error 1
make[2]: Leaving directory
`/usr/local/private/dvb/Source/DVB_CVS/DVB/driver'
make[1]: *** [_mod_/usr/local/private/dvb/Source/DVB_CVS/DVB/driver]
Error 2
make[1]: Leaving directory `/usr/src/linux'
make: *** [here] Error 2

O.K. 
Changing one line in $DVB/driver/Makefile

EXTRA_CFLAGS = -I ../ost/include -I . -D__DVB_PACK__ -g -DUSE_OSD
$(LIRC_FLAG) 

To:

EXTRA_CFLAGS = -I ../ost/include -I . -D__DVB_PACK__ -g -DUSE_OSD
$(LIRC_FLAG) -DEXPORT_SYMTAB

solved the problem.

Loading the modules (or make depmod) leads to:

/lib/modules/2.4.11/kernel/drivers/media/video/dvb.o: unresolved symbol
DmxDevDVRPoll


O.K.
Adding the following line near the end of $DVB/driver/

...
EXPORT_SYMBOL(DmxDevIoctl);
EXPORT_SYMBOL(DmxDevPoll);
EXPORT_SYMBOL(DmxDevDVRPoll);  /* This line */
#endif
#endif

solved the problem.

These steps were (my naive) steps in order to get dvb working in 2.4.11.

Two other things should be mentioned by me:

First, 
why the modules are put in /lib/modules/(version)/misc/?
If you use an analog grabber card like a bt878-one, you will get another
tuner.o module located in
/lib/modules/(version)/kernel/drivers/media/video/. This situation could
lead to some confusion in my opinion.

Second thing,
it is sometimes necessary for me to tune my DVB-s board (Version 1.3) to
an intermediate frequence of 2.2 GHz or above.

In that cases the debug output in the log for the frequence is a
negative number.

Changing the  format-qualifier prevents it, for instance:

$DVB/driver/dvb.c[~line 2647]

dprintk("dvb_mon(%d): mon_afc freq:%u curfreq:%u "  [...]

was:

dprintk("dvb_mon(%d): mon_afc freq:%d curfreq:%d "
                                   ^^         ^^  
This is only formal misprint in the logs, but it's now easier for me to
read the log.
Could you (the driver developer) so kind and correct these behavior?

-- 
Frank


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index