As Jim said drivers can also be implemented as modules.Remember all modules cant be drivers.
A kernel module can be loaded at run time.
To answer your question module is not a synonym of device driver.
Some drivers comes with kernel and some you need to load at runtime based on your requirements.
Take a simple example:
When compiling your kernel, you can choose IPV6 as loadable module or simply include with kernel.I would like to make a point clear here IPv6 is not a driver.
Hope this clarifies you.
Regards,
Ravi
Hong Hsu wrote:
Thanks Jim.
And I would like long answer.
Jim Bauer wrote:
On Mon, 2003-05-19 at 16:37, Hong Hsu wrote:
I got confused when people use kernel module and driver interchangeably. For an example, from nvidia.com you can download Linux Display Driver NVIDIA_lernel-1.0-2960.rh73up.rpm. After compilation, the NVdriver will be copied to /lib/modules/2.4.18-3/kernel/drivers/video/ directory. I also notice there is nvidia_drv.o in /usr/X11R6/lib/modules/drivers/ directory.
How and when term kernel module should be used? Is it synonym of device driver? Should each device driver has a corresponding kernel module under /lib/modules/?
The short answer is that a driver is a driver and a module is a module. A driver could be built as a module. A module is just a chink of kernel code that can be loaded (and usually unloaded) at runtime. A driver is usually a chunk of code that controls a physical device such as a disk driver. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/
--
The views presented in this mail are completely mine. The company is not responsible for whatsoever. ------------------------------------------------------------------------ Ravi Kumar CH Rendezvous On Chip (i) Pvt Ltd Hyderabad, India Ph: +91-40-2335 1214 / 1175 / 1184
ROC home page <http://www.roc.co.in>
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/