Chapter 4. Programming details

Table of Contents
Writing a hardware driver
Encapsulation drivers

One of the major new features of the ARCnet 3.80 driver was the addition of "raw mode" support, so that people could write modules to interface Linux-ARCnet with any other ARCnet station. I guess that means I should document some of the programming interfaces.

Writing a hardware driver

This is much easier now than in previous versions, due to an almost complete rewrite of the low-level driver code. If your card uses something vaguely similar to a COM90xx chip, then it's almost trivial to add a new driver.

I suggest you base your driver on the com90xx.c code, since that does pretty much everything you could want. It's only about 750 lines in version 3.90 -- and about 350 of those are the auto-probe routine!

Please feel free to volunteer to rewrite the RIM I and com90io drivers for the new version. Especially the com90io driver should be really easy to do, but I don't have enough time (and I don't have a RIM I card to test with, so I'll never be able to do that one).