mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 09:31:14 +00:00
m68knommu: Convert 5272 intc irq_chip to new functions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
parent
be497ddfd0
commit
2730158ab2
1 changed files with 18 additions and 10 deletions
|
@ -78,8 +78,10 @@ static struct irqmap intc_irqmap[MCFINT_VECMAX - MCFINT_VECBASE] = {
|
||||||
* an interrupt on this irq (for the external irqs). So this mask function
|
* an interrupt on this irq (for the external irqs). So this mask function
|
||||||
* is also an ack_mask function.
|
* is also an ack_mask function.
|
||||||
*/
|
*/
|
||||||
static void intc_irq_mask(unsigned int irq)
|
static void intc_irq_mask(struct irq_data *d)
|
||||||
{
|
{
|
||||||
|
unsigned int irq = d->irq;
|
||||||
|
|
||||||
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
||||||
u32 v;
|
u32 v;
|
||||||
irq -= MCFINT_VECBASE;
|
irq -= MCFINT_VECBASE;
|
||||||
|
@ -88,8 +90,10 @@ static void intc_irq_mask(unsigned int irq)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void intc_irq_unmask(unsigned int irq)
|
static void intc_irq_unmask(struct irq_data *d)
|
||||||
{
|
{
|
||||||
|
unsigned int irq = d->irq;
|
||||||
|
|
||||||
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
||||||
u32 v;
|
u32 v;
|
||||||
irq -= MCFINT_VECBASE;
|
irq -= MCFINT_VECBASE;
|
||||||
|
@ -98,8 +102,10 @@ static void intc_irq_unmask(unsigned int irq)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void intc_irq_ack(unsigned int irq)
|
static void intc_irq_ack(struct irq_data *d)
|
||||||
{
|
{
|
||||||
|
unsigned int irq = d->irq;
|
||||||
|
|
||||||
/* Only external interrupts are acked */
|
/* Only external interrupts are acked */
|
||||||
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
||||||
irq -= MCFINT_VECBASE;
|
irq -= MCFINT_VECBASE;
|
||||||
|
@ -113,8 +119,10 @@ static void intc_irq_ack(unsigned int irq)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int intc_irq_set_type(unsigned int irq, unsigned int type)
|
static int intc_irq_set_type(struct irq_data *d, unsigned int type)
|
||||||
{
|
{
|
||||||
|
unsigned int irq = d->irq;
|
||||||
|
|
||||||
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) {
|
||||||
irq -= MCFINT_VECBASE;
|
irq -= MCFINT_VECBASE;
|
||||||
if (intc_irqmap[irq].ack) {
|
if (intc_irqmap[irq].ack) {
|
||||||
|
@ -137,17 +145,17 @@ static int intc_irq_set_type(unsigned int irq, unsigned int type)
|
||||||
*/
|
*/
|
||||||
static void intc_external_irq(unsigned int irq, struct irq_desc *desc)
|
static void intc_external_irq(unsigned int irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
desc->chip->ack(irq);
|
get_irq_desc_chip(desc)->irq_ack(&desc->irq_data);
|
||||||
handle_simple_irq(irq, desc);
|
handle_simple_irq(irq, desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irq_chip intc_irq_chip = {
|
static struct irq_chip intc_irq_chip = {
|
||||||
.name = "CF-INTC",
|
.name = "CF-INTC",
|
||||||
.mask = intc_irq_mask,
|
.irq_mask = intc_irq_mask,
|
||||||
.unmask = intc_irq_unmask,
|
.irq_unmask = intc_irq_unmask,
|
||||||
.mask_ack = intc_irq_mask,
|
.irq_mask_ack = intc_irq_mask,
|
||||||
.ack = intc_irq_ack,
|
.irq_ack = intc_irq_ack,
|
||||||
.set_type = intc_irq_set_type,
|
.irq_set_type = intc_irq_set_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init init_IRQ(void)
|
void __init init_IRQ(void)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue