Actually, the asm-generic headers have been around for ages, but what I
did was to add the half of them that was not already there, and to extend
some of the existing ones to make them usable without providing any
architecture specific information.
There also was an earlier article about a presentation I gave at the UKUUG
Linux conference last year on a related topic, see http://lwn.net/Articles/307713/.