On 9/17/06, Siarzhuk Zharski <zharik@xxxxxx> wrote:
Hi, > Maybe someone can gather up all the tutorials and sample drivers they > can locate, and post them all in a single location (on the Haiku site > maybe?) so that someone wishing to experiment with driver-writing has > plenty of information that is easy to browse and locate.
Haiku's site will give us an army of driver developers. :-) Good, up to date "sample" drivers are already in Haiku's SVN. They are available for everyone. The "tutorial" was already published in one of first Newsletters. Anyway, 90% of drivers programming is the dealing with hardware specifics and limitations, debugging, tracing and thinking.
I am most certainly not qualified (yet) :D - and I'm not predicting an army of developers, only that we may see more people taking the initiative to write a driver. Right now, I think many developers consider driver-development to be a "voodoo art" - at least, that was my impression until recently. When browsing through sample drivers, and how-tos you start to realize it's not all that complicated. and you're correct, much of the work ends up being device-specific.
The problem with the "sample drivers" in the Haiku repo is that they all differ pretty significantly from one-another - yet many of them have very similar code just written differently by each developer. This is somewhat disorienting and confusing for someone coming into it fresh. A truly well-organized sample driver for each device class could be a very useful thing. Documentation around sections that are device-specific vs. sections that are "generic" code would help identify what parts to change, and what parts to leave. Be's sample drivers have some of this, but I feel they are pretty dated now.
propose to write a very dick book about Haiku kernel programming before the Haiku's first Alpha version is published. As Russians say: You put the Waggon before the Horse. :-)
Possibly, but then: I don't know what I don't know yet. Maybe it's best to go and experiment with other mature OSes (Linux/FreeBSD?) and learn - but I can't see how that would be productive.
Thanks for the response though :) - and I just realized your sis7018 driver in in the Haiku repo - I want to test that out on one of my machines :D