It is an active field as the kernel is constantly in motion. Your best bet would be to download the latest kernel source code and look at how current drivers are implemented. Once you have that build questions around items you can not understand - it will increase the likelihood that you get a relevant reply.
L7Sqr
Practically a Posting Shark
849 posts since Feb 2011
Reputation Points: 253
Solved Threads: 155
Skill Endorsements: 7
There are some good resources online to help with this. One is "Linux Device Drivers" here free: http://lwn.net/Kernel/LDD3/ It can also be purchased from O'Reilly, or Amazon. Another good resource is "Linux Kernel Development" by Robert Love, published by Addison-Wesley. It is also available online (3rd edition) for free. Not sure what the URI is for that, but I have a copy (pdf) on my system.
rubberman
Posting Maven
2,571 posts since Mar 2010
Reputation Points: 365
Solved Threads: 305
Skill Endorsements: 51