Basic question about device drivers
I am tempted to write a device driver and I would like to better understand how these work before embarking on this adventure.
I recently purchased a usb tv tuner card i.e. a nova hauppage and followed the instructions given on linuxtv website and finally got a working tv on my Ubuntu box.
What I don't understand is:
-How many layers/drivers are there between the kernel and my hauppage tuner card? Just one or several?
-How do modules relate to each other?
-How would you define what the firmware is?
I also have a logitec webcam that was picked up automatically on installation by Ubuntu.
-Where is the driver for that specific webcam located on the hard drive?
-Can a given driver server several devices?
Any reply, albeit partial is welcome.
Thanks in advance,