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
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
sh
/
cchips
/
hd6446x
/
hd64461
/
setup.c
diff --git
a/arch/sh/cchips/hd6446x/hd64461/setup.c
b/arch/sh/cchips/hd6446x/hd64461/setup.c
index
f014b9b
..
4d49b5c
100644
(file)
--- a/
arch/sh/cchips/hd6446x/hd64461/setup.c
+++ b/
arch/sh/cchips/hd6446x/hd64461/setup.c
@@
-4,7
+4,6
@@
* Hitachi HD64461 companion chip support
*/
* Hitachi HD64461 companion chip support
*/
-#include <linux/config.h>
#include <linux/sched.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/module.h>
#include <linux/kernel.h>
@@
-12,36
+11,28
@@
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/irq.h>
-
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/irq.h>
-
-#include <asm/hd64461/hd64461.h>
+#include <asm/hd64461.h>
static void disable_hd64461_irq(unsigned int irq)
{
static void disable_hd64461_irq(unsigned int irq)
{
- unsigned long flags;
unsigned short nimr;
unsigned short mask = 1 << (irq - HD64461_IRQBASE);
unsigned short nimr;
unsigned short mask = 1 << (irq - HD64461_IRQBASE);
- local_irq_save(flags);
nimr = inw(HD64461_NIMR);
nimr |= mask;
outw(nimr, HD64461_NIMR);
nimr = inw(HD64461_NIMR);
nimr |= mask;
outw(nimr, HD64461_NIMR);
- local_irq_restore(flags);
}
static void enable_hd64461_irq(unsigned int irq)
{
}
static void enable_hd64461_irq(unsigned int irq)
{
- unsigned long flags;
unsigned short nimr;
unsigned short mask = 1 << (irq - HD64461_IRQBASE);
unsigned short nimr;
unsigned short mask = 1 << (irq - HD64461_IRQBASE);
- local_irq_save(flags);
nimr = inw(HD64461_NIMR);
nimr &= ~mask;
outw(nimr, HD64461_NIMR);
nimr = inw(HD64461_NIMR);
nimr &= ~mask;
outw(nimr, HD64461_NIMR);
- local_irq_restore(flags);
}
static void mask_and_ack_hd64461(unsigned int irq)
}
static void mask_and_ack_hd64461(unsigned int irq)
@@
-80,7
+71,7
@@
static struct hw_interrupt_type hd64461_irq_type = {
.end = end_hd64461_irq,
};
.end = end_hd64461_irq,
};
-static irqreturn_t hd64461_interrupt(int irq, void *dev_id
, struct pt_regs *regs
)
+static irqreturn_t hd64461_interrupt(int irq, void *dev_id)
{
printk(KERN_INFO
"HD64461: spurious interrupt, nirr: 0x%x nimr: 0x%x\n",
{
printk(KERN_INFO
"HD64461: spurious interrupt, nirr: 0x%x nimr: 0x%x\n",
@@
-134,7
+125,7
@@
int hd64461_irq_demux(int irq)
return __irq_demux(irq);
}
return __irq_demux(irq);
}
-static struct irqaction irq0 = { hd64461_interrupt,
SA_INTERRUPT
, CPU_MASK_NONE, "HD64461", NULL, NULL };
+static struct irqaction irq0 = { hd64461_interrupt,
IRQF_DISABLED
, CPU_MASK_NONE, "HD64461", NULL, NULL };
int __init setup_hd64461(void)
{
int __init setup_hd64461(void)
{
@@
-154,7
+145,7
@@
int __init setup_hd64461(void)
outw(0xffff, HD64461_NIMR);
for (i = HD64461_IRQBASE; i < HD64461_IRQBASE + 16; i++) {
outw(0xffff, HD64461_NIMR);
for (i = HD64461_IRQBASE; i < HD64461_IRQBASE + 16; i++) {
- irq_desc[i].
handler
= &hd64461_irq_type;
+ irq_desc[i].
chip
= &hd64461_irq_type;
}
setup_irq(CONFIG_HD64461_IRQ, &irq0);
}
setup_irq(CONFIG_HD64461_IRQ, &irq0);