9. Advice

I cannot stress this enough - study all available references, and the
existing code, until you understand what is happening. Do this BEFORE you
begin writing a driver. This will save you a massive amount of headache.
Try to find a driver for a chipset that is similar to yours, if possible.
Use this as an example, and perhaps derive your driver from it.

Do not let the gloom-and-doom in the debugging section discourage you.
While you will probably have problems initially (I still do), careful,
deliberate debugging steps can bear fruit very quickly. It is likely
that, given a good understanding of the chipset, a driver can be written
and debugged in a day or two. For someone just learning about this kind
of programming, a week is more reasonable.