Re: [RFC: 2.6 patch] include/linux/irq.h: #include

Russell King
2005-12-21T22:21:41Z

On Wed, Dec 21, 2005 at 11:11:14PM +0100, Adrian Bunk wrote:
> On Wed, Dec 21, 2005 at 09:48:06PM +0000, Russell King wrote:
> > On Wed, Dec 21, 2005 at 10:33:21PM +0100, Adrian Bunk wrote:
> > > On Wed, Dec 21, 2005 at 11:04:22AM +0000, Russell King wrote:
> > > > On Wed, Dec 21, 2005 at 02:41:33AM -0800, Andrew Morton wrote:
> > > > > Yes, it's basically always wrong to include asm/foo.h when linux/foo.h
> > > > > exists.
> > > >
> > > > There's always an exception to every rule. linux/irq.h is that
> > > > exception for the above rule.
> > >
> > > Why?
> >
> > /*
> > * Please do not include this file in generic code. There is currently
> > * no requirement for any architecture to implement anything held
> > * within this file.
> > *
> > * Thanks. --rmk
> > */
> >
> > Using linux/irq.h instead of asm/irq.h _breaks_ architectures
> > which do not use the generic irq code.
> >
> > Basically, linux/irq.h should have been called asm-generic/irq.h.
>
> I'm not getting your point.

The point is _exactly_ as the above quotation between Andrew Morton
and myself. I'm sure it's not me being thick because it's absolutely
damned obvious from the above.

Andrew said: "Yes, it's basically always wrong to include asm/foo.h
when linux/foo.h exists."

That statement is a rule. I assert that this is an incorrect statement
and I assert that there is a proven case where this statement is incorrect.

Hence, to avoid people reading Andrew's misleading statement, I followed
up on precisely _that_ point and _that_ point alone.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core