From: Matthew Wilcox <matthew@wil.cx>
To: Linus Torvalds <torvalds@osdl.org>
Cc: David Howells <dhowells@redhat.com>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
parisc-linux@parisc-linux.org
Subject: Re: [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
Date: Fri, 6 Oct 2006 20:54:44 -0600 [thread overview]
Message-ID: <20061007025444.GV2563@parisc-linux.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0610061055490.3952@g5.osdl.org>
On Fri, Oct 06, 2006 at 11:01:24AM -0700, Linus Torvalds wrote:
> On Fri, 6 Oct 2006, Russell King wrote:
> >
> > If it's obvious and trivial, it should be easy for anyone to fix, even
> > the person who broke it. Especially as there are build logs automatically
> > generated for every -git tree at http://armlinux.simtec.co.uk/kautobuild/
>
> Ok, I just committed a rough first cut at fixing up arm/.
Could you do:
git-pull git://git.parisc-linux.org/git/linux-2.6.git irq-fixes
Or apply the patch below, if that's easier
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 9bdd019..2ece7c7 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -35,8 +35,8 @@ #include <asm/smp.h>
#undef PARISC_IRQ_CR16_COUNTS
-extern irqreturn_t timer_interrupt(int, void *, struct pt_regs *);
-extern irqreturn_t ipi_interrupt(int, void *, struct pt_regs *);
+extern irqreturn_t timer_interrupt(int, void *);
+extern irqreturn_t ipi_interrupt(int, void *);
#define EIEM_MASK(irq) (1UL<<(CPU_IRQ_MAX - irq))
@@ -375,7 +375,7 @@ #ifdef CONFIG_SMP
goto set_out;
}
#endif
- __do_IRQ(irq, regs);
+ __do_IRQ(irq);
out:
irq_exit();
diff --git a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c
index 1d58ce0..b448392 100644
--- a/arch/parisc/kernel/time.c
+++ b/arch/parisc/kernel/time.c
@@ -66,7 +66,7 @@ irqreturn_t timer_interrupt(int irq, voi
/* gcc can optimize for "read-only" case with a local clocktick */
unsigned long cpt = clocktick;
- profile_tick(CPU_PROFILING, regs);
+ profile_tick(CPU_PROFILING);
/* Initialize next_tick to the expected tick time. */
next_tick = cpu_data[cpu].it_value;
diff --git a/drivers/input/keyboard/hil_kbd.c b/drivers/input/keyboard/hil_kbd.c
index c9b0b89..e774dd3 100644
--- a/drivers/input/keyboard/hil_kbd.c
+++ b/drivers/input/keyboard/hil_kbd.c
@@ -328,7 +328,7 @@ static int hil_kbd_connect(struct serio
kbd->dev->id.vendor = PCI_VENDOR_ID_HP;
kbd->dev->id.product = 0x0001; /* TODO: get from kbd->rsc */
kbd->dev->id.version = 0x0100; /* TODO: get from kbd->rsc */
- kbd->dev->dev = &serio->dev;
+ kbd->dev->cdev.dev = &serio->dev;
for (i = 0; i < 128; i++) {
set_bit(hil_kbd_set1[i], kbd->dev->keybit);
diff --git a/drivers/input/mouse/hil_ptr.c b/drivers/input/mouse/hil_ptr.c
index 402b057..4f2b503 100644
--- a/drivers/input/mouse/hil_ptr.c
+++ b/drivers/input/mouse/hil_ptr.c
@@ -375,7 +375,7 @@ #endif
ptr->dev->id.vendor = PCI_VENDOR_ID_HP;
ptr->dev->id.product = 0x0001; /* TODO: get from ptr->rsc */
ptr->dev->id.version = 0x0100; /* TODO: get from ptr->rsc */
- ptr->dev->dev = &serio->dev;
+ ptr->dev->cdev.dev = &serio->dev;
input_register_device(ptr->dev);
printk(KERN_INFO "input: %s (%s), ID: %d\n",
diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c
index 081fdc3..74f14e0 100644
--- a/drivers/input/serio/gscps2.c
+++ b/drivers/input/serio/gscps2.c
@@ -166,7 +166,7 @@ static inline int gscps2_writeb_output(s
/* make sure any received data is returned as fast as possible */
/* this is important e.g. when we set the LEDs on the keyboard */
- gscps2_interrupt(0, NULL, NULL);
+ gscps2_interrupt(0, NULL);
return 1;
}
@@ -306,7 +306,7 @@ static int gscps2_open(struct serio *por
/* enable it */
gscps2_enable(ps2port, ENABLE);
- gscps2_interrupt(0, NULL, NULL);
+ gscps2_interrupt(0, NULL);
return 0;
}
diff --git a/drivers/input/serio/hil_mlc.c b/drivers/input/serio/hil_mlc.c
index bbbe15e..bdfde04 100644
--- a/drivers/input/serio/hil_mlc.c
+++ b/drivers/input/serio/hil_mlc.c
@@ -162,10 +162,10 @@ static void hil_mlc_send_polls(hil_mlc *
if (did != (p & HIL_PKT_ADDR_MASK) >> 8) {
if (drv == NULL || drv->interrupt == NULL) goto skip;
- drv->interrupt(serio, 0, 0, NULL);
- drv->interrupt(serio, HIL_ERR_INT >> 16, 0, NULL);
- drv->interrupt(serio, HIL_PKT_CMD >> 8, 0, NULL);
- drv->interrupt(serio, HIL_CMD_POL + cnt, 0, NULL);
+ drv->interrupt(serio, 0, 0);
+ drv->interrupt(serio, HIL_ERR_INT >> 16, 0);
+ drv->interrupt(serio, HIL_PKT_CMD >> 8, 0);
+ drv->interrupt(serio, HIL_CMD_POL + cnt, 0);
skip:
did = (p & HIL_PKT_ADDR_MASK) >> 8;
serio = did ? mlc->serio[mlc->di_map[did-1]] : NULL;
@@ -174,10 +174,10 @@ static void hil_mlc_send_polls(hil_mlc *
}
cnt++; i++;
if (drv == NULL || drv->interrupt == NULL) continue;
- drv->interrupt(serio, (p >> 24), 0, NULL);
- drv->interrupt(serio, (p >> 16) & 0xff, 0, NULL);
- drv->interrupt(serio, (p >> 8) & ~HIL_PKT_ADDR_MASK, 0, NULL);
- drv->interrupt(serio, p & 0xff, 0, NULL);
+ drv->interrupt(serio, (p >> 24), 0);
+ drv->interrupt(serio, (p >> 16) & 0xff, 0);
+ drv->interrupt(serio, (p >> 8) & ~HIL_PKT_ADDR_MASK, 0);
+ drv->interrupt(serio, p & 0xff, 0);
}
}
@@ -780,16 +780,16 @@ static int hil_mlc_serio_write(struct se
while ((last != idx) && (*last == 0)) last--;
while (idx != last) {
- drv->interrupt(serio, 0, 0, NULL);
- drv->interrupt(serio, HIL_ERR_INT >> 16, 0, NULL);
- drv->interrupt(serio, 0, 0, NULL);
- drv->interrupt(serio, *idx, 0, NULL);
+ drv->interrupt(serio, 0, 0);
+ drv->interrupt(serio, HIL_ERR_INT >> 16, 0);
+ drv->interrupt(serio, 0, 0);
+ drv->interrupt(serio, *idx, 0);
idx++;
}
- drv->interrupt(serio, 0, 0, NULL);
- drv->interrupt(serio, HIL_ERR_INT >> 16, 0, NULL);
- drv->interrupt(serio, HIL_PKT_CMD >> 8, 0, NULL);
- drv->interrupt(serio, *idx, 0, NULL);
+ drv->interrupt(serio, 0, 0);
+ drv->interrupt(serio, HIL_ERR_INT >> 16, 0);
+ drv->interrupt(serio, HIL_PKT_CMD >> 8, 0);
+ drv->interrupt(serio, *idx, 0);
mlc->serio_oidx[map->didx] = 0;
mlc->serio_opacket[map->didx] = 0;
diff --git a/drivers/net/lasi_82596.c b/drivers/net/lasi_82596.c
index 8cbd940..f4d815b 100644
--- a/drivers/net/lasi_82596.c
+++ b/drivers/net/lasi_82596.c
@@ -1252,7 +1252,7 @@ #ifdef CONFIG_NET_POLL_CONTROLLER
static void i596_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- i596_interrupt(dev->irq, dev, NULL);
+ i596_interrupt(dev->irq, dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c
index a0a8fd8..03c763c 100644
--- a/drivers/parisc/dino.c
+++ b/drivers/parisc/dino.c
@@ -389,7 +389,7 @@ ilr_again:
int irq = dino_dev->global_irq[local_irq];
DBG(KERN_DEBUG "%s(%d, %p) mask 0x%x\n",
__FUNCTION__, irq, intr_dev, mask);
- __do_IRQ(irq, regs);
+ __do_IRQ(irq);
mask &= ~(1 << local_irq);
} while (mask);
diff --git a/drivers/parisc/eisa.c b/drivers/parisc/eisa.c
index 094562e..e97cecb 100644
--- a/drivers/parisc/eisa.c
+++ b/drivers/parisc/eisa.c
@@ -234,7 +234,7 @@ static irqreturn_t eisa_irq(int wax_irq,
}
spin_unlock_irqrestore(&eisa_irq_lock, flags);
- __do_IRQ(irq, regs);
+ __do_IRQ(irq);
spin_lock_irqsave(&eisa_irq_lock, flags);
/* unmask */
diff --git a/drivers/serial/mux.c b/drivers/serial/mux.c
index aa819d3..8ad1b8c 100644
--- a/drivers/serial/mux.c
+++ b/drivers/serial/mux.c
@@ -230,7 +230,7 @@ static void mux_read(struct uart_port *p
continue;
}
- if (uart_handle_sysrq_char(port, data & 0xffu, NULL))
+ if (uart_handle_sysrq_char(port, data & 0xffu))
continue;
tty_insert_flip_char(tty, data & 0xFF, TTY_NORMAL);
diff --git a/include/asm-parisc/irq_regs.h b/include/asm-parisc/irq_regs.h
new file mode 100644
index 0000000..3dd9c0b
--- /dev/null
+++ b/include/asm-parisc/irq_regs.h
@@ -0,0 +1 @@
+#include <asm-generic/irq_regs.h>
next prev parent reply other threads:[~2006-10-07 2:54 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-02 16:20 [PATCH 1/3] IRQ: Typedef the IRQ flow handler function type David Howells
2006-10-02 16:20 ` [PATCH 2/3] IRQ: Typedef the IRQ " David Howells
[not found] ` <20061002162053.17763.26032.stgit@warthog.cambridge.redhat.com>
2006-10-02 20:21 ` [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Andrew Morton
2006-10-02 20:18 ` Ingo Molnar
2006-10-02 20:54 ` Linus Torvalds
2006-10-02 21:01 ` Andrew Morton
2006-10-02 21:12 ` Linus Torvalds
2006-10-02 21:19 ` Andi Kleen
2006-10-02 21:46 ` Linus Torvalds
2006-10-02 21:47 ` Ingo Molnar
2006-10-02 21:59 ` Andi Kleen
2006-10-02 22:33 ` Linus Torvalds
2006-10-03 10:43 ` Ingo Molnar
[not found] ` <fa.v9OUIBlFjbmpdm2jHjUOj/6fm5Y@ifi.uio.no>
2006-10-07 18:44 ` Bill Waddington
2006-10-02 21:12 ` David Miller
2006-10-02 21:18 ` Thomas Gleixner
2006-10-02 22:59 ` Karsten Wiese
2006-10-03 0:36 ` Dave Airlie
2006-10-03 10:21 ` David Howells
2006-10-05 8:01 ` David Woodhouse
2006-10-03 10:01 ` David Howells
2006-10-03 10:30 ` David Howells
2006-10-02 20:43 ` Dmitry Torokhov
2006-10-02 20:56 ` Andrew Morton
2006-10-02 23:52 ` Greg KH
2006-10-02 20:46 ` David Brownell
2006-10-02 20:58 ` Andrew Morton
2006-10-02 21:34 ` Alan Stern
2006-10-02 21:34 ` Alan Stern
2006-10-02 23:00 ` David Brownell
2006-10-03 18:03 ` Alan Stern
2006-10-06 3:45 ` David Brownell
2006-10-06 17:42 ` Alan Stern
2006-10-05 14:22 ` David Howells
2006-10-05 19:46 ` Andrew Morton
2006-10-05 20:19 ` Thomas Gleixner
2006-10-05 20:20 ` Dmitry Torokhov
2006-10-05 20:34 ` Greg KH
2006-10-05 23:35 ` Linus Torvalds
2006-10-06 1:31 ` [PATCH] powerpc: irq change build breaks Olof Johansson
2006-10-06 1:31 ` Olof Johansson
2006-10-06 4:22 ` Benjamin Herrenschmidt
2006-10-06 4:22 ` Benjamin Herrenschmidt
2006-10-06 16:42 ` [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Russell King
2006-10-06 18:01 ` Linus Torvalds
2006-10-07 2:54 ` [parisc-linux] " Matthew Wilcox
2006-10-07 2:54 ` Matthew Wilcox [this message]
2006-10-07 14:44 ` Matthew Wilcox
2006-10-07 14:44 ` Matthew Wilcox
2006-10-06 18:53 ` [PATCH] fix mesh compile errors after irq changes Olaf Hering
2006-10-06 19:09 ` Geert Uytterhoeven
2006-10-06 20:34 ` [PATCH] powerpc: fixup " Olaf Hering
2006-10-06 20:52 ` [PATCH] powerpc: spu " Olaf Hering
2006-10-06 21:06 ` [PATCH] ppc: PReP " Olaf Hering
2006-10-07 0:19 ` [PATCH] powerpc: " Paul Mackerras
2006-10-07 12:25 ` Paul Mackerras
2006-10-06 0:52 ` [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Jeff Garzik
2006-10-06 11:25 ` Alan Cox
2006-10-06 11:15 ` Jeff Garzik
2006-10-06 11:11 ` Ingo Molnar
2006-10-06 11:27 ` Jeff Garzik
2006-10-06 11:25 ` Ingo Molnar
2006-10-06 14:07 ` Dmitry Torokhov
2006-10-06 14:16 ` Jeff Garzik
2006-10-06 15:18 ` [PATCH, RAW] IRQ: Maintain irq number " Jeff Garzik
2006-10-06 15:20 ` Jeff Garzik
2006-10-06 15:47 ` Linus Torvalds
2006-10-06 16:21 ` Dmitry Torokhov
2006-10-06 16:40 ` Linus Torvalds
2006-10-06 16:38 ` Jeff Garzik
2006-10-06 8:03 ` [PATCH 3/3] IRQ: Maintain regs pointer " Gregor Jasny
-- strict thread matches above, loose matches on Subject: below --
2006-09-12 14:58 [PATCH 1/3] IRQ: Typedef the IRQ flow handler function type David Howells
2006-09-12 16:27 ` [PATCH 3/3] IRQ: Maintain regs pointer globally rather than passing to IRQ handlers David Howells
2006-10-03 0:10 ` Keith Owens
2006-10-03 9:54 ` David Howells
2006-10-04 3:26 ` Keith Owens
2006-10-05 14:24 ` David Howells
2006-10-05 14:26 ` David Howells
[not found] <fa.FU9k10MvHKEiGBkmyRa0N7lIvX4@ifi.uio.no>
[not found] ` <fa.YmeJPP3GwSahgI09Gcaha4kqm84@ifi.uio.no>
[not found] ` <fa.qbSmIOXP3NtOgNMHs5oazelaSJs@ifi.uio.no>
[not found] ` <fa.AB8rZ1kwd3vQ1HCbYfV1438E4A0@ifi.uio.no>
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=20061007025444.GV2563@parisc-linux.org \
--to=matthew@wil.cx \
--cc=akpm@osdl.org \
--cc=dhowells@redhat.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=parisc-linux@parisc-linux.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.