git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
arch
/
parisc
/
kernel
/
irq.c
diff --git
a/arch/parisc/kernel/irq.c
b/arch/parisc/kernel/irq.c
index
5b8803c
..
197936d
100644
(file)
--- a/
arch/parisc/kernel/irq.c
+++ b/
arch/parisc/kernel/irq.c
@@
-22,6
+22,7
@@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/bitops.h>
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/bitops.h>
+#include <linux/config.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/interrupt.h>
@@
-93,7
+94,7
@@
int cpu_check_affinity(unsigned int irq, cpumask_t *dest)
if (irq == TIMER_IRQ || irq == IPI_IRQ) {
/* Bad linux design decision. The mask has already
* been set; we must reset it */
if (irq == TIMER_IRQ || irq == IPI_IRQ) {
/* Bad linux design decision. The mask has already
* been set; we must reset it */
- irq_
desc[irq].affinity
= CPU_MASK_ALL;
+ irq_
affinity[irq]
= CPU_MASK_ALL;
return -EINVAL;
}
return -EINVAL;
}
@@
-109,7
+110,7
@@
static void cpu_set_affinity_irq(unsigned int irq, cpumask_t dest)
if (cpu_check_affinity(irq, &dest))
return;
if (cpu_check_affinity(irq, &dest))
return;
- irq_
desc[irq].affinity
= dest;
+ irq_
affinity[irq]
= dest;
}
#endif
}
#endif
@@
-124,10
+125,6
@@
static struct hw_interrupt_type cpu_interrupt_type = {
#ifdef CONFIG_SMP
.set_affinity = cpu_set_affinity_irq,
#endif
#ifdef CONFIG_SMP
.set_affinity = cpu_set_affinity_irq,
#endif
- /* XXX: Needs to be written. We managed without it so far, but
- * we really ought to write it.
- */
- .retrigger = NULL,
};
int show_interrupts(struct seq_file *p, void *v)
};
int show_interrupts(struct seq_file *p, void *v)
@@
-161,7
+158,7
@@
int show_interrupts(struct seq_file *p, void *v)
seq_printf(p, "%10u ", kstat_irqs(i));
#endif
seq_printf(p, "%10u ", kstat_irqs(i));
#endif
- seq_printf(p, " %14s", irq_desc[i].
chip
->typename);
+ seq_printf(p, " %14s", irq_desc[i].
handler
->typename);
#ifndef PARISC_IRQ_CR16_COUNTS
seq_printf(p, " %s", action->name);
#ifndef PARISC_IRQ_CR16_COUNTS
seq_printf(p, " %s", action->name);
@@
-213,12
+210,12
@@
int cpu_claim_irq(unsigned int irq, struct hw_interrupt_type *type, void *data)
{
if (irq_desc[irq].action)
return -EBUSY;
{
if (irq_desc[irq].action)
return -EBUSY;
- if (irq_desc[irq].
chip
!= &cpu_interrupt_type)
+ if (irq_desc[irq].
handler
!= &cpu_interrupt_type)
return -EBUSY;
if (type) {
return -EBUSY;
if (type) {
- irq_desc[irq].
chip
= type;
- irq_desc[irq].
chip
_data = data;
+ irq_desc[irq].
handler
= type;
+ irq_desc[irq].
handler
_data = data;
cpu_interrupt_type.enable(irq);
}
return 0;
cpu_interrupt_type.enable(irq);
}
return 0;
@@
-268,7
+265,7
@@
int txn_alloc_irq(unsigned int bits_wide)
unsigned long txn_affinity_addr(unsigned int irq, int cpu)
{
#ifdef CONFIG_SMP
unsigned long txn_affinity_addr(unsigned int irq, int cpu)
{
#ifdef CONFIG_SMP
- irq_
desc[irq].affinity
= cpumask_of_cpu(cpu);
+ irq_
affinity[irq]
= cpumask_of_cpu(cpu);
#endif
return cpu_data[cpu].txn_addr;
#endif
return cpu_data[cpu].txn_addr;
@@
-329,7
+326,7
@@
void do_cpu_irq_mask(struct pt_regs *regs)
/* Work our way from MSb to LSb...same order we alloc EIRs */
for (irq = TIMER_IRQ; eirr_val && bit; bit>>=1, irq++) {
#ifdef CONFIG_SMP
/* Work our way from MSb to LSb...same order we alloc EIRs */
for (irq = TIMER_IRQ; eirr_val && bit; bit>>=1, irq++) {
#ifdef CONFIG_SMP
- cpumask_t dest = irq_
desc[irq].affinity
;
+ cpumask_t dest = irq_
affinity[irq]
;
#endif
if (!(bit & eirr_val))
continue;
#endif
if (!(bit & eirr_val))
continue;
@@
-366,14
+363,14
@@
void do_cpu_irq_mask(struct pt_regs *regs)
static struct irqaction timer_action = {
.handler = timer_interrupt,
.name = "timer",
static struct irqaction timer_action = {
.handler = timer_interrupt,
.name = "timer",
- .flags =
IRQF_DISABLED
,
+ .flags =
SA_INTERRUPT
,
};
#ifdef CONFIG_SMP
static struct irqaction ipi_action = {
.handler = ipi_interrupt,
.name = "IPI",
};
#ifdef CONFIG_SMP
static struct irqaction ipi_action = {
.handler = ipi_interrupt,
.name = "IPI",
- .flags =
IRQF_DISABLED
,
+ .flags =
SA_INTERRUPT
,
};
#endif
};
#endif
@@
-381,7
+378,7
@@
static void claim_cpu_irqs(void)
{
int i;
for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) {
{
int i;
for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) {
- irq_desc[i].
chip
= &cpu_interrupt_type;
+ irq_desc[i].
handler
= &cpu_interrupt_type;
}
irq_desc[TIMER_IRQ].action = &timer_action;
}
irq_desc[TIMER_IRQ].action = &timer_action;
@@
-407,6
+404,13
@@
void __init init_IRQ(void)
}
}
+void hw_resend_irq(struct hw_interrupt_type *type, unsigned int irq)
+{
+ /* XXX: Needs to be written. We managed without it so far, but
+ * we really ought to write it.
+ */
+}
+
void ack_bad_irq(unsigned int irq)
{
printk("unexpected IRQ %d\n", irq);
void ack_bad_irq(unsigned int irq)
{
printk("unexpected IRQ %d\n", irq);