> kiobufs is definitely the way to go. Could it be possible to translate
> mmap'ed buffers into DMA buffers in the host module, i.e. allocate
> vmalloc space for the app and ask the driver to dump into it?

Guess you think of handle the mmap backward compatibility completely
within videodev.o (or at least with a set of helper functions provided
by videodev.o)?

For userland memory there is map_user_kiobuf.  I'm not aware of any 
ready-to-go function which builds kiobufs for vmalloc'ed memory.
I think it is possible to do that, but I have to read some more mm
source code to be really sure it is...

> Where can I find an introduction to kiobufs?

Other peoples source code...

bttv-0.7.34 will have some code.  generic scsi (drivers/scsi/sg.c) uses
it, and so does the raw device driver (drivers/char/raw.c).

[ context switch ]

While talking about bttv-0.7.34:  I'm busy with splitting the thing
into multiple source files and ran into this problem with 2.2.x:

ld -m elf_i386 -r -o bttv.o bttv-cards.o bttv-if.o bttv-driver.o
bttv-if.o(.modinfo+0x0): multiple definition of `__module_kernel_version'
bttv-cards.o(.modinfo+0x0): first defined here
bttv-driver.o(.modinfo+0x0): multiple definition of `__module_kernel_version'
bttv-cards.o(.modinfo+0x0): first defined here
make[2]: *** [bttv.o] Error 1

The same code on 2.4.x compiles just fine.  Makefile definitions look
like this:

<cut here>
[ ... ]
BTTV_OBJS = bttv-driver.o bttv-cards.o bttv-if.o
MI_OBJS = bttv.o
O_OBJS  = bttv-cards.o bttv-driver.o
OX_OBJS = bttv-if.o
[ ... ]

include $(KERNEL_LOCATION)/Rules.make

bttv.o: $(BTTV_OBJS)
        $(LD) -r -o $@ $(BTTV_OBJS)
</cut here>

Anyone has a idea what is wrong here?

  Gerd

-- 
Protecting the children is a good way to get a lot of adults who cant
stand up for themselves.                -- seen in some sig on /.


-- 
         To unsubscribe: mail [EMAIL PROTECTED] with 
                       "unsubscribe" as the Subject.

Reply via email to