For Installing or developing Drivers.
Developing Drivers Tutorial for Newbies
There are some links in the section below, but they are outdated on certain parts (especially regarding code). They might not be suitable if you are new to the topic.
Linux Loadable Kernel Module HOWTO (as 1 large html file) (updated 2006)
Linux Kernel Module Programming Guide(updated 2001)
Linux Device Drivers 2nd for 2.4.x (whole book online) (updated 2001)
Linux Device Drivers 3rd for 2.6.x (whole book online) (updated 2005)
Misc Character Drivers(updated 1998)
I/O port programming mini-HOWTO(updated 2000)
Porting device drivers to the 2.6 kernel(updated 2004)
Reference: WritingPortableDrivers(updated 2017)
User Level Drivers: see https://www.linuxjournal.com/article/5442, https://www.embedded.com/device-drivers-in-user-space/, and https://lwn.net/Articles/703785/<<BR>>
MindShare, Inc has a nice series of books on various bus protocols, including PCI, USB, PCMCIA and Cardbus.
KernelCodeRepository : users kernel code