[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111206205955.GH4585@pengutronix.de>
Date: Tue, 6 Dec 2011 21:59:55 +0100
From: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Russell King - ARM Linux <linux@....linux.org.uk>,
Nicolas Pitre <nicolas.pitre@...aro.org>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Dave Martin <dave.martin@...aro.org>,
Pawel Moll <pawel.moll@....com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
devicetree-discuss@...ts.ozlabs.org,
LKML <linux-kernel@...r.kernel.org>,
Jeff Garzik <jgarzik@...hat.com>, linux-ide@...r.kernel.org,
Randy Dunlap <rdunlap@...otime.net>,
linux-next@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Anton Vorontsov <cbouatmailru@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>,
Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver
Hello Linus,
On Tue, Dec 06, 2011 at 11:20:49AM -0800, Linus Torvalds wrote:
> On Tue, Dec 6, 2011 at 2:46 AM, Russell King - ARM Linux
> <linux@....linux.org.uk> wrote:
> >
> > But.. let's make one thing clear: Alan Cox and Linus have been going on
> > about how IRQ0 should not be used. Let's be crystal clear: even x86
> > uses IRQ0.
>
> Not for any device driver, though.
>
> It's used entirely internally, and it doesn't even use
> "request_irq()". It uses the magic internal "setup_irq()" and never
> *ever* exposes irq0 as anything that a driver can see.
>
> That's what matters. You can use irq0 in ARM land all you like, AS
> LONG AS IT'S SOME HIDDEN INTERNAL USE. No drivers. No *nothing* that
> ever uses that absolutely *idiotic* NO_IRQ crap.
>
> In fact, you may be *forced* to use what is "physically" irq0 - it's
> just that you should never expose it as such to drivers. And x86
> doesn't.
>
> So Russell, if you think this has anything to do with NO_IRQ, and how
> x86 isn't doing things right, you're wrong. It's just like the
> internal exception thing, or the magical "cascade interrupt", or the
> "x87 exception mapped through the PIC". They are magic hidden
> interrupts that are set up in one place (well, one place *each*), and
> are never exposed anywhere else.
Well there is try_misrouted_irq in kernel/irq/spurious.c that assumes
irq0 to be something that it never is on ARM (and maybe all other
platforms apart from x86). So at least it's not internal to a single
(x86 specific) place.
I tried to patch that two years ago, but that only ended in people
saying "don't use irq0". I don't know if try_misrouted_irq sees hardware
irqs, but if it does it's a bug even on archs != X86 that use virtual
irqs.
(Note that this doesn't oppose to your statement that using NO_IRQ is
crap.)
> The problem with NO_IRQ is that stupid "we expose our mind-numbingly
> stupid interfaces across the whole kernel".
>
> x86 never did that. ARM still does. x86 doesn't have to fix anything. ARM does.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists