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.