Porting v4l-dvb back to 2.6.12.6 ("class_create" replacement)

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

 



Hi!

I am trying to build Video4Linux-dvb for my NAS (D-Link DNS-323) so I
can use it as a mythtv-backend for recording TV.

The NAS has an ARM processor running a 2.6.12.6 kernel on it:
root@DNS-323:~# uname -a
Linux DNS-323 2.6.12.6-arm1 #31 Thu Mar 26 18:20:41 CST 2009 armv5tejl
unknown

I have set up and tested a toolchain for cross-compilation and a
configured kernel source-tree. Now I am trying to compile the v4l-dvb
kernel modules needed to get my dvb-usb stick (MSI Digivox mini II V3.0,
an AF9015 based stick) running.

I already replaced all the mutexes by semaphors, all the kzalloc() by
kmalloc() and memset() and did some other small adjustments in the
source-code.
Now what is left are the calls to class_destroy(...), class_create(...)
class_device_create(...) and class_device_destroy(...) in dvbdev.c which
are non-existent in this kernel version. I think it might be the change
from devfs to udev?
I tried to compare different versions of the kernel-files and the
v4l-dvb files, but the changes seem quite fundamental and this is the
first time I am trying to build and modify some kernel modules, so any
help would be most welcome.

These are the interesting Parts of the build:

  CC [M]  /home/moritz/v4l-dvb/v4l/dvbdev.o
In file included from /home/moritz/v4l-dvb/v4l/dvbdev.c:34:
/home/moritz/v4l-dvb/v4l/compat.h:442: warning: `struct snd_card'
declared inside parameter list
/home/moritz/v4l-dvb/v4l/compat.h:442: warning: its scope is only this
definition or declaration, which is probably not what you want
/home/moritz/v4l-dvb/v4l/compat.h: In function `snd_card_create':
/home/moritz/v4l-dvb/v4l/compat.h:444: warning: assignment from
incompatible pointer type
/home/moritz/v4l-dvb/v4l/dvbdev.c: In function `dvb_register_device':
/home/moritz/v4l-dvb/v4l/dvbdev.c:282: warning: implicit declaration of
function `class_device_create'
/home/moritz/v4l-dvb/v4l/dvbdev.c:282: warning: assignment makes pointer
from integer without a cast
/home/moritz/v4l-dvb/v4l/dvbdev.c: In function `dvb_unregister_device':
/home/moritz/v4l-dvb/v4l/dvbdev.c:309: warning: implicit declaration of
function `class_device_destroy'
/home/moritz/v4l-dvb/v4l/dvbdev.c: In function `init_dvbdev':
/home/moritz/v4l-dvb/v4l/dvbdev.c:498: warning: implicit declaration of
function `class_create'
/home/moritz/v4l-dvb/v4l/dvbdev.c:498: warning: assignment makes pointer
from integer without a cast
/home/moritz/v4l-dvb/v4l/dvbdev.c: In function `exit_dvbdev':
/home/moritz/v4l-dvb/v4l/dvbdev.c:517: warning: implicit declaration of
function `class_destroy'

[...]

  Building modules, stage 2.
  MODPOST
*** Warning:
"class_device_destroy" [/home/moritz/v4l-dvb/v4l/dvb-core.ko] undefined!
*** Warning:
"class_device_create" [/home/moritz/v4l-dvb/v4l/dvb-core.ko] undefined!
*** Warning: "class_create" [/home/moritz/v4l-dvb/v4l/dvb-core.ko]
undefined!
*** Warning: "class_destroy" [/home/moritz/v4l-dvb/v4l/dvb-core.ko]
undefined!

And this is what dmesg says when I try to load the dvb-core module on
the NAS:

dvb_core: Unknown symbol class_destroy
dvb_core: Unknown symbol class_create
dvb_core: Unknown symbol class_device_create
dvb_core: Unknown symbol class_device_destroy

-- 
Regards,
Moritz





--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux