Paul Chubb wrote: > Hi, > there is a good book on kernel development by Robert Love - Linux > Kernel Development. I read about two thirds of it. Lots of useful > information but I found it difficult to get a wide viewpoint of the > process. It would be great to have beside you as a reference. Looking on > Amazon - I wanted to check the details - there are several other books > including linux device drivers by Rubini. > > HTH > > Cheers Paul > > Joe Djemal wrote: >> I concur with the below. I can code in quite a few languages including >> assembly languages and I asked for a pointer on where to get started with >> learning how to make a Linux driver and there was complete silence as there >> was with my previous inquiry. >> >> Come on guys, I've been Googling but where do I start? >> >> Joe Hey Joe, I didn't see your first request, sorry. The Linux Drivers Manual (oreilly) is a good place to start for a generic overview of the kernel driver features. It's also online downloadable for free in PDF form. Jumping head first into linuxtv.org is a steep learning curve if you haven't done driver work before. Get comfortable building the source tree (see the wiki). I'd then suggest you look at the small drivers (common/tuners) would be a good place to start. Look at the struct_ interfaces that each of the smaller drivers use and you'll start to see the major interfaces between different parts of the kernel (tuners and demodulators) ( files inlinux/drivers/media/dvb/frontends). In the demodulator drivers you'll see dvb_frontend_ops, it contains the callbacks allowing other parts of the kernel (dvb/dvb-core/*.[hc]) to call the demodulators for configuration and tuning purposes. When applications tune then call interfaces in dvb-core, this marshals the data and passes those calls onto the demodulator drivers. Tuners and demodulators are a good place to start as the drivers are generally fairly small. Get to grips with this before you look at the physical pci/pcie/usb drivers, they get large quickly and can easily confuse. Limit you learning to a specific field (tuners and demods) and submit a few cleanup patches. This is how most people start. No substitute for look at the source code and finding the common structures that all tuners and demodulators use. No good book on linux-dvb exists, apart form the spec (see linuxtv.org) and the actual project source code. This is where I'd suggest you begin your journey. Welcome, and good luck! - Steve _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb