Previous Entry Share Next Entry
Move v4l ioctl's from the kernel to userspace
For some days now i have been trying to port kernel code from linux-2.6/drivers/media/video/v4l1-compat.c to libv4l1 which is a part of v4l-utils.
Initially i thought this would be a manual process, just trying to copy paste stuff from one place to another and make sure things are indented correctly. But it turned out to be a whole new learning experience for me.
Firstly i learnt how things are differently handled in userspace and kernel space, like the kernel has limited stack size, so if you are using a struct, you declare that as a pointer and kmalloc memory for it, so that when its pushed on the stack, only the pointer is pushed. However userspace does not have that limitations.

So around 10/12 ioctl ports later, i finished doing it and now we are ready to do some testing and perhaps deprecate
v4l1-compat driver in the kernel.

As always thanks a lot to Hans de Goede for guiding and helping me on this.


Log in