sh64: irq_data conversion.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt 2010-10-27 15:38:59 +09:00
parent 31b37c73c5
commit 815db1477a
2 changed files with 15 additions and 50 deletions

View File

@ -55,8 +55,9 @@ static struct irqaction cayman_action_pci2 = {
.flags = IRQF_DISABLED, .flags = IRQF_DISABLED,
}; };
static void enable_cayman_irq(unsigned int irq) static void enable_cayman_irq(struct irq_data *data)
{ {
unsigned int irq = data->irq;
unsigned long flags; unsigned long flags;
unsigned long mask; unsigned long mask;
unsigned int reg; unsigned int reg;
@ -72,8 +73,9 @@ static void enable_cayman_irq(unsigned int irq)
local_irq_restore(flags); local_irq_restore(flags);
} }
void disable_cayman_irq(unsigned int irq) static void disable_cayman_irq(struct irq_data *data)
{ {
unsigned int irq = data->irq;
unsigned long flags; unsigned long flags;
unsigned long mask; unsigned long mask;
unsigned int reg; unsigned int reg;
@ -89,16 +91,10 @@ void disable_cayman_irq(unsigned int irq)
local_irq_restore(flags); local_irq_restore(flags);
} }
static void ack_cayman_irq(unsigned int irq)
{
disable_cayman_irq(irq);
}
struct irq_chip cayman_irq_type = { struct irq_chip cayman_irq_type = {
.name = "Cayman-IRQ", .name = "Cayman-IRQ",
.unmask = enable_cayman_irq, .irq_unmask = enable_cayman_irq,
.mask = disable_cayman_irq, .irq_mask = disable_cayman_irq,
.mask_ack = ack_cayman_irq,
}; };
int cayman_irq_demux(int evt) int cayman_irq_demux(int evt)

View File

@ -76,39 +76,11 @@ int intc_evt_to_irq[(0xE20/0x20)+1] = {
}; };
static unsigned long intc_virt; static unsigned long intc_virt;
static unsigned int startup_intc_irq(unsigned int irq);
static void shutdown_intc_irq(unsigned int irq);
static void enable_intc_irq(unsigned int irq);
static void disable_intc_irq(unsigned int irq);
static void mask_and_ack_intc(unsigned int);
static void end_intc_irq(unsigned int irq);
static struct irq_chip intc_irq_type = {
.name = "INTC",
.startup = startup_intc_irq,
.shutdown = shutdown_intc_irq,
.enable = enable_intc_irq,
.disable = disable_intc_irq,
.ack = mask_and_ack_intc,
.end = end_intc_irq
};
static int irlm; /* IRL mode */ static int irlm; /* IRL mode */
static unsigned int startup_intc_irq(unsigned int irq) static void enable_intc_irq(struct irq_data *data)
{
enable_intc_irq(irq);
return 0; /* never anything pending */
}
static void shutdown_intc_irq(unsigned int irq)
{
disable_intc_irq(irq);
}
static void enable_intc_irq(unsigned int irq)
{ {
unsigned int irq = data->irq;
unsigned long reg; unsigned long reg;
unsigned long bitmask; unsigned long bitmask;
@ -126,8 +98,9 @@ static void enable_intc_irq(unsigned int irq)
__raw_writel(bitmask, reg); __raw_writel(bitmask, reg);
} }
static void disable_intc_irq(unsigned int irq) static void disable_intc_irq(struct irq_data *data)
{ {
unsigned int irq = data->irq;
unsigned long reg; unsigned long reg;
unsigned long bitmask; unsigned long bitmask;
@ -142,15 +115,11 @@ static void disable_intc_irq(unsigned int irq)
__raw_writel(bitmask, reg); __raw_writel(bitmask, reg);
} }
static void mask_and_ack_intc(unsigned int irq) static struct irq_chip intc_irq_type = {
{ .name = "INTC",
disable_intc_irq(irq); .irq_enable = enable_intc_irq,
} .irq_disable = disable_intc_irq,
};
static void end_intc_irq(unsigned int irq)
{
enable_intc_irq(irq);
}
void __init plat_irq_setup(void) void __init plat_irq_setup(void)
{ {