title: how to code drivers?
body: <p>I want to code drivers in C in linux os, though I think its very tough.  Can I get some hints as to how to start or books to follow?  Drivers can be from my USB port to graphics card!! </p>
  
  <p>I know as to where I can search for books, I would like to know as to what the basic knowledge I should start with.  Do I need to have hardware knowledge and which specific books are good for novice like me?</p>