General info on functions and macros used in drivers needed
Hello All,
I am new to Linux drivers, though not at all new to Linux, and even more not new to SW, HW, drivers in general. I've already read a number of articles on Linux drivers and at the moment I feel I see too many little details not being able to grasp the bigger picture. My current understanding/perception of Linux drivers related stuff can be summarized like this: 1) there is a number of existing kernel functions used by driver developers; 2) there is a number of existing kernel macros used by driver developers; 3) there is a set of DOs and DONTs, as well a number of examples. My questions are: 1) are all kernel functions meant to be used while developing drivers ? 2) are all kernel macros meant to be used while developing drivers ? 3) if at least one of the above questions is answered NO, then where can I find the exact list of functions and macros to be used in drivers ? 4) is there a well defined driver API and ABI and if yes, where can I find documentation on the API and ABI ? Thanks, Sergei. |
Here is a good book on developing Linux drivers:
http://oreilly.com/catalog/linuxdrive3/book/index.csp ---------------------- Steve Stites |
Quote:
I did quickly read some books, maybe this one specifically. My question still remains - I need full list of functions and macros intended for use in drivers. Did Linux kernel developers write documentation which has answers to he above question ? My point is that Linux kernel and its documentation is the primary source of info, any book is secondary. I need pointers to the primary source. Thanks again, Sergei. |
I'm sure if you'd actually read the referenced book, you'd have a good idea on how to start and where to find the appropriate functions, it does tell you.
I personally found this book interesting (but I did read it before the other one). But it shows you how to write a module and iterate through the list of all the system hooks. Actually i'm not at home, but that example could have been in this. |
All times are GMT -5. The time now is 10:22 AM. |