Skip to content

Commit

Permalink
sh64: irq_data conversion.
Browse files Browse the repository at this point in the history
Signed-off-by: Paul Mundt <[email protected]>
  • Loading branch information
pmundt committed Oct 27, 2010
1 parent 31b37c7 commit 815db14
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 50 deletions.
16 changes: 6 additions & 10 deletions arch/sh/boards/mach-cayman/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,9 @@ static struct irqaction cayman_action_pci2 = {
.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 mask;
unsigned int reg;
Expand All @@ -72,8 +73,9 @@ static void enable_cayman_irq(unsigned int irq)
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 mask;
unsigned int reg;
Expand All @@ -89,16 +91,10 @@ void disable_cayman_irq(unsigned int irq)
local_irq_restore(flags);
}

static void ack_cayman_irq(unsigned int irq)
{
disable_cayman_irq(irq);
}

struct irq_chip cayman_irq_type = {
.name = "Cayman-IRQ",
.unmask = enable_cayman_irq,
.mask = disable_cayman_irq,
.mask_ack = ack_cayman_irq,
.irq_unmask = enable_cayman_irq,
.irq_mask = disable_cayman_irq,
};

int cayman_irq_demux(int evt)
Expand Down
49 changes: 9 additions & 40 deletions arch/sh/kernel/cpu/irq/intc-sh5.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,39 +76,11 @@ int intc_evt_to_irq[(0xE20/0x20)+1] = {
};

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 unsigned int startup_intc_irq(unsigned int irq)
{
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)
static void enable_intc_irq(struct irq_data *data)
{
unsigned int irq = data->irq;
unsigned long reg;
unsigned long bitmask;

Expand All @@ -126,8 +98,9 @@ static void enable_intc_irq(unsigned int irq)
__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 bitmask;

Expand All @@ -142,15 +115,11 @@ static void disable_intc_irq(unsigned int irq)
__raw_writel(bitmask, reg);
}

static void mask_and_ack_intc(unsigned int irq)
{
disable_intc_irq(irq);
}

static void end_intc_irq(unsigned int irq)
{
enable_intc_irq(irq);
}
static struct irq_chip intc_irq_type = {
.name = "INTC",
.irq_enable = enable_intc_irq,
.irq_disable = disable_intc_irq,
};

void __init plat_irq_setup(void)
{
Expand Down

0 comments on commit 815db14

Please sign in to comment.