提交 ff43a67f 编写于 作者: T Thomas Gleixner 提交者: Mike Frysinger

Blackfin: convert internal irq_chip to new functions

Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Signed-off-by: NMike Frysinger <vapier@gentoo.org>
上级 4f19ea49
...@@ -176,6 +176,11 @@ static void bfin_internal_mask_irq(unsigned int irq) ...@@ -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) ...@@ -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) ...@@ -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 = { ...@@ -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
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册