|
|
|
@ -92,15 +92,15 @@ static void nuc900_group_enable(struct group_irq *gpirq, int enable) |
|
|
|
|
__raw_writel(regval, REG_AIC_GEN); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void nuc900_irq_mask(unsigned int irq) |
|
|
|
|
static void nuc900_irq_mask(struct irq_data *d) |
|
|
|
|
{ |
|
|
|
|
struct group_irq *group_irq; |
|
|
|
|
|
|
|
|
|
group_irq = NULL; |
|
|
|
|
|
|
|
|
|
__raw_writel(1 << irq, REG_AIC_MDCR); |
|
|
|
|
__raw_writel(1 << d->irq, REG_AIC_MDCR); |
|
|
|
|
|
|
|
|
|
switch (irq) { |
|
|
|
|
switch (d->irq) { |
|
|
|
|
case IRQ_GROUP0: |
|
|
|
|
group_irq = &group_nirq0; |
|
|
|
|
break; |
|
|
|
@ -143,20 +143,20 @@ static void nuc900_irq_mask(unsigned int irq) |
|
|
|
|
* to REG_AIC_EOSCR for ACK |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
static void nuc900_irq_ack(unsigned int irq) |
|
|
|
|
static void nuc900_irq_ack(struct irq_data *d) |
|
|
|
|
{ |
|
|
|
|
__raw_writel(0x01, REG_AIC_EOSCR); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void nuc900_irq_unmask(unsigned int irq) |
|
|
|
|
static void nuc900_irq_unmask(struct irq_data *d) |
|
|
|
|
{ |
|
|
|
|
struct group_irq *group_irq; |
|
|
|
|
|
|
|
|
|
group_irq = NULL; |
|
|
|
|
|
|
|
|
|
__raw_writel(1 << irq, REG_AIC_MECR); |
|
|
|
|
__raw_writel(1 << d->irq, REG_AIC_MECR); |
|
|
|
|
|
|
|
|
|
switch (irq) { |
|
|
|
|
switch (d->irq) { |
|
|
|
|
case IRQ_GROUP0: |
|
|
|
|
group_irq = &group_nirq0; |
|
|
|
|
break; |
|
|
|
@ -195,9 +195,9 @@ static void nuc900_irq_unmask(unsigned int irq) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static struct irq_chip nuc900_irq_chip = { |
|
|
|
|
.ack = nuc900_irq_ack, |
|
|
|
|
.mask = nuc900_irq_mask, |
|
|
|
|
.unmask = nuc900_irq_unmask, |
|
|
|
|
.irq_ack = nuc900_irq_ack, |
|
|
|
|
.irq_mask = nuc900_irq_mask, |
|
|
|
|
.irq_unmask = nuc900_irq_unmask, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
void __init nuc900_init_irq(void) |
|
|
|
|