From: Matthew Wilcox <matthew@wil.cx>
To: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@osdl.org>, linux-kernel@vger.kernel.org
Subject: Re: First steps towards making NO_IRQ a generic concept
Date: Thu, 3 Nov 2005 09:02:52 -0700 [thread overview]
Message-ID: <20051103160252.GA23749@parisc-linux.org> (raw)
In-Reply-To: <20051103154439.GA28190@elte.hu>
On Thu, Nov 03, 2005 at 04:44:39PM +0100, Ingo Molnar wrote:
> > + if (irq >= NR_IRQS)
> > + return;
>
> hm, why not start with the -1 value for PCI_NO_IRQ, instead of 0:
>
> > +#define PCI_NO_IRQ 0
>
> and be done with it.
There's a number of drivers which check "if (!irq) ...". For example:
drivers/net/3c523.c: if ((irq && irq != dev->irq) ||
drivers/net/atarilance.c: if (!irq) {
drivers/net/cs89x0.c: if (!dev->irq)
drivers/net/depca.c: if (!dev->irq) {
drivers/net/eexpress.c: if (!dev->irq || !irqrmap[dev->irq])
drivers/net/ewrk3.c: if (!dev->irq) {
drivers/net/ibmlana.c: return (base != 0 || irq != 0) ? -ENXIO
: -ENODE
drivers/net/lasi_82596.c: if (!dev->irq) {
drivers/net/ne-h8300.c: if (! dev->irq) {
drivers/net/ne.c: if (! dev->irq) {
drivers/net/ni52.c: if(!dev->irq)
drivers/net/ni65.c: if(!dev->irq)
drivers/net/pcnet32.c: if (!dev->irq) {
... and that's just drivers/net, and that doesn't include other ways
for checking if irq is not 0, and doesn't include irqs referred to
under different names not including the string 'irq'. Against that,
I know not all of these are PCI drivers. So we need to spend some time
checking drivers for this assumption.
We also need to figure out what to do with non-PCI drivers. Some of
them need more work than others to work with a -1 NO_IRQ. There's also
plenty of janitorial work with people misusing the probe_irq_off()
interface.
> > - Move the definition of NO_IRQ from asm directories to
> > <linux/hardirq.h>. Individual architectures can still override it if
> > they want to, but all existing definitions were -1.
>
> we shouldnt make it overridable just for the sake of it. If all arches
> were fine with -1, it should be the generic value and there's no
> override.
Fine with me. I can take out the ifndef.
> plus, shouldnt this go into -mm first, since it clearly affects some
> drivers? Why into Linus' tree immediately?
With the way I'm staging it, it shouldn't affect drivers. The only
exception was the pcmcia driver that defined its own NO_IRQ macro. So I
converted that one to the new preferred way to check the irq is unset.
next prev parent reply other threads:[~2005-11-03 16:02 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-03 14:49 First steps towards making NO_IRQ a generic concept Matthew Wilcox
2005-11-03 14:51 ` Matthew Wilcox
2005-11-03 15:44 ` Ingo Molnar
2005-11-03 16:02 ` Matthew Wilcox [this message]
2005-11-03 16:20 ` Ingo Molnar
2005-11-03 17:05 ` Matthew Wilcox
2005-11-03 20:53 ` Ingo Molnar
2005-11-03 14:51 ` Matthew Wilcox
2005-11-03 17:15 ` Arjan van de Ven
2005-11-03 14:52 ` Matthew Wilcox
2005-11-03 14:52 ` Matthew Wilcox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20051103160252.GA23749@parisc-linux.org \
--to=matthew@wil.cx \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox