[RFC] killing linux/irq.h

viro
2005-09-09T18:42:54Z

We get regular portability bugs when somebody decides to include
linux/irq.h into a driver instead of asm/irq.h. It's almost always a
wrong thing to do and, in fact, causes immediate breakage on e.g. arm.

Here's what I'm going to do:
* check current includes of linux/irq.h; e.g. in arch/x86_64 all but two
had been 100% useless, one should've been asm/irq.h and one - asm/irq.h +
asm/hw_irq.h. The only legitimate user of linux/irq.h on amd64 was
asm/hardirq.h.
Situation elsewhere in arch/* is similar - most of includes are not needed
at all.
* remove bogus includes, arch by arch for architectures that live in main
tree. Switch ones that should've been asm/irq.h to that form.
* put the current contents of linux/irq.h to asm-generic/hardirq.h (which
is what it really is - declarations for hardirq code, relevant on many but
not all platforms).
* switch remaining users of linux/irq.h to asm-generic/hardirq.h (again, for
architectures that live in main tree)
* replace contents of linux/irq.h with #warning and
#include <asm-generic/hardirq.h>.
* after 2.6.14 kill linux/irq.h completely.

Objections? That variant leaves out-of-tree folks with window until
2.6.15 to convert and that's really more than enough...