I want to make some optimizations on camera kernel module so it can work better with a camera multiplexer module. There are 4 camera multiplexed by GPIO pins and some hardware.

I have cloned the v4l-utils (git://git.linuxtv.org/v4l-utils.git) so I can make my customizations. The problem is that I can't find the "entry point" in the sources in v4l2 for kernel module. I have read on some forums that it may actually be placed user space but I am suspicious about this as it is loaded like an kernel module (sudo modprobe bcm2835-v4l2).

Now the question is: where I can find the source for bcm2835-v4l2 kernel module so I can compile it myself? Where I can change the functions behind kernel interface which manage file operations (open, release, read, write etc let's say behind /dev/videoX)?

PS: The board is RPi 3b+ with Raspbian Stretch


The source for the bcm2835-v4l2 kernel module is in the linux staging tree at linux/drivers/staging/vc04_services/bcm2835-camera/

You can find it e.g. in the RPF Linux repository at https://github.com/raspberrypi/linux For the current RPF Linux kernel (4.14.y) it's at https://github.com/raspberrypi/linux/tree/rpi-4.14.y/drivers/staging/vc04_services/bcm2835-camera

It is also available in the upstream Linux repositories.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.