Re: generated headers?
I've no knowledge of the situation in Linux, but what I have seen elsewhere is code generated automagically from documentation (thankfully, well structured documentation). If there are tables of registers accessible by some means in script-consumable documents, this is well worth it. One still has to write code to tweak registers in the right way, but at least the registers are easily accessible without relying on someone manually entering a lot of addresses by hand.