Linux drivers generalities
From ArmadeusWiki
This page summarizes all the important things to know when talking about Linux drivers in general.
What
Linux drivers are the piece of code running inside the kernel itself that are assigned to a specific peripheral driving. They can exist in 2 forms:
- they can be statically linked to the kernel image. In that case we refer to static drivers
- or they can be compiled as loadable modules (the famous .ko files)
When compiled as module (<M> in linux menuconfig) they can be dynamically loaded at runtime, when necessary. For example if you need to load the FPGA at a particular time you can do a:
# modprobe fpga_loader
or
# insmod /lib/modules/drivers/armadeus/fpga/fpga_loader.ko
modprobe knows where to find the correspondig .ko file and find all its dependancies thanks to the /etc/modules.dep file