mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 09:01:34 +00:00
Blackfin: convert internal irq_chip to new functions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
4f19ea4978
commit
ff43a67f67
@ -176,6 +176,11 @@ static void bfin_internal_mask_irq(unsigned int irq)
|
|||||||
hard_local_irq_restore(flags);
|
hard_local_irq_restore(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void bfin_internal_mask_irq_chip(struct irq_data *d)
|
||||||
|
{
|
||||||
|
bfin_internal_mask_irq(d->irq);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
static void bfin_internal_unmask_irq_affinity(unsigned int irq,
|
static void bfin_internal_unmask_irq_affinity(unsigned int irq,
|
||||||
const struct cpumask *affinity)
|
const struct cpumask *affinity)
|
||||||
@ -211,19 +216,24 @@ static void bfin_internal_unmask_irq(unsigned int irq)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
static void bfin_internal_unmask_irq(unsigned int irq)
|
static void bfin_internal_unmask_irq_chip(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct irq_desc *desc = irq_to_desc(irq);
|
bfin_internal_unmask_irq_affinity(d->irq, d->affinity);
|
||||||
bfin_internal_unmask_irq_affinity(irq, desc->affinity);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bfin_internal_set_affinity(unsigned int irq, const struct cpumask *mask)
|
static int bfin_internal_set_affinity(struct irq_data *d,
|
||||||
|
const struct cpumask *mask, bool force)
|
||||||
{
|
{
|
||||||
bfin_internal_mask_irq(irq);
|
bfin_internal_mask_irq(d->irq);
|
||||||
bfin_internal_unmask_irq_affinity(irq, mask);
|
bfin_internal_unmask_irq_affinity(d->irq, mask);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
static void bfin_internal_unmask_irq_chip(struct irq_data *d)
|
||||||
|
{
|
||||||
|
bfin_internal_unmask_irq(d->irq);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
@ -279,6 +289,11 @@ int bfin_internal_set_wake(unsigned int irq, unsigned int state)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int bfin_internal_set_wake_chip(struct irq_data *d, unsigned int state)
|
||||||
|
{
|
||||||
|
return bfin_internal_set_wake(d->irq, state);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct irq_chip bfin_core_irqchip = {
|
static struct irq_chip bfin_core_irqchip = {
|
||||||
@ -291,16 +306,16 @@ static struct irq_chip bfin_core_irqchip = {
|
|||||||
static struct irq_chip bfin_internal_irqchip = {
|
static struct irq_chip bfin_internal_irqchip = {
|
||||||
.name = "INTN",
|
.name = "INTN",
|
||||||
.irq_ack = bfin_ack_noop,
|
.irq_ack = bfin_ack_noop,
|
||||||
.mask = bfin_internal_mask_irq,
|
.irq_mask = bfin_internal_mask_irq_chip,
|
||||||
.unmask = bfin_internal_unmask_irq,
|
.irq_unmask = bfin_internal_unmask_irq_chip,
|
||||||
.mask_ack = bfin_internal_mask_irq,
|
.irq_mask_ack = bfin_internal_mask_irq_chip,
|
||||||
.disable = bfin_internal_mask_irq,
|
.irq_disable = bfin_internal_mask_irq_chip,
|
||||||
.enable = bfin_internal_unmask_irq,
|
.irq_enable = bfin_internal_unmask_irq_chip,
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
.set_affinity = bfin_internal_set_affinity,
|
.irq_set_affinity = bfin_internal_set_affinity,
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
.set_wake = bfin_internal_set_wake,
|
.irq_set_wake = bfin_internal_set_wake_chip,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user