mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-30 08:04:13 +08:00
powerpc: sysdev/cpm2_pic irq_data conversion.
Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
a2073d54a9
commit
c47eefa660
@ -78,10 +78,10 @@ static const u_char irq_to_siubit[] = {
|
||||
24, 25, 26, 27, 28, 29, 30, 31,
|
||||
};
|
||||
|
||||
static void cpm2_mask_irq(unsigned int virq)
|
||||
static void cpm2_mask_irq(struct irq_data *d)
|
||||
{
|
||||
int bit, word;
|
||||
unsigned int irq_nr = virq_to_hw(virq);
|
||||
unsigned int irq_nr = virq_to_hw(d->irq);
|
||||
|
||||
bit = irq_to_siubit[irq_nr];
|
||||
word = irq_to_siureg[irq_nr];
|
||||
@ -90,10 +90,10 @@ static void cpm2_mask_irq(unsigned int virq)
|
||||
out_be32(&cpm2_intctl->ic_simrh + word, ppc_cached_irq_mask[word]);
|
||||
}
|
||||
|
||||
static void cpm2_unmask_irq(unsigned int virq)
|
||||
static void cpm2_unmask_irq(struct irq_data *d)
|
||||
{
|
||||
int bit, word;
|
||||
unsigned int irq_nr = virq_to_hw(virq);
|
||||
unsigned int irq_nr = virq_to_hw(d->irq);
|
||||
|
||||
bit = irq_to_siubit[irq_nr];
|
||||
word = irq_to_siureg[irq_nr];
|
||||
@ -102,10 +102,10 @@ static void cpm2_unmask_irq(unsigned int virq)
|
||||
out_be32(&cpm2_intctl->ic_simrh + word, ppc_cached_irq_mask[word]);
|
||||
}
|
||||
|
||||
static void cpm2_ack(unsigned int virq)
|
||||
static void cpm2_ack(struct irq_data *d)
|
||||
{
|
||||
int bit, word;
|
||||
unsigned int irq_nr = virq_to_hw(virq);
|
||||
unsigned int irq_nr = virq_to_hw(d->irq);
|
||||
|
||||
bit = irq_to_siubit[irq_nr];
|
||||
word = irq_to_siureg[irq_nr];
|
||||
@ -113,11 +113,11 @@ static void cpm2_ack(unsigned int virq)
|
||||
out_be32(&cpm2_intctl->ic_sipnrh + word, 1 << bit);
|
||||
}
|
||||
|
||||
static void cpm2_end_irq(unsigned int virq)
|
||||
static void cpm2_end_irq(struct irq_data *d)
|
||||
{
|
||||
struct irq_desc *desc;
|
||||
int bit, word;
|
||||
unsigned int irq_nr = virq_to_hw(virq);
|
||||
unsigned int irq_nr = virq_to_hw(d->irq);
|
||||
|
||||
desc = irq_to_desc(irq_nr);
|
||||
if (!(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS))
|
||||
@ -137,10 +137,10 @@ static void cpm2_end_irq(unsigned int virq)
|
||||
}
|
||||
}
|
||||
|
||||
static int cpm2_set_irq_type(unsigned int virq, unsigned int flow_type)
|
||||
static int cpm2_set_irq_type(struct irq_data *d, unsigned int flow_type)
|
||||
{
|
||||
unsigned int src = virq_to_hw(virq);
|
||||
struct irq_desc *desc = irq_to_desc(virq);
|
||||
unsigned int src = virq_to_hw(d->irq);
|
||||
struct irq_desc *desc = irq_to_desc(d->irq);
|
||||
unsigned int vold, vnew, edibit;
|
||||
|
||||
/* Port C interrupts are either IRQ_TYPE_EDGE_FALLING or
|
||||
@ -199,11 +199,11 @@ err_sense:
|
||||
|
||||
static struct irq_chip cpm2_pic = {
|
||||
.name = "CPM2 SIU",
|
||||
.mask = cpm2_mask_irq,
|
||||
.unmask = cpm2_unmask_irq,
|
||||
.ack = cpm2_ack,
|
||||
.eoi = cpm2_end_irq,
|
||||
.set_type = cpm2_set_irq_type,
|
||||
.irq_mask = cpm2_mask_irq,
|
||||
.irq_unmask = cpm2_unmask_irq,
|
||||
.irq_ack = cpm2_ack,
|
||||
.irq_eoi = cpm2_end_irq,
|
||||
.irq_set_type = cpm2_set_irq_type,
|
||||
};
|
||||
|
||||
unsigned int cpm2_get_irq(void)
|
||||
|
Loading…
Reference in New Issue
Block a user