tile: Convert irq_chip to new functions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
This commit is contained in:
committed by
Chris Metcalf
parent
342d87ef21
commit
f5b42c93d8
@@ -176,43 +176,43 @@ void disable_percpu_irq(unsigned int irq)
|
|||||||
EXPORT_SYMBOL(disable_percpu_irq);
|
EXPORT_SYMBOL(disable_percpu_irq);
|
||||||
|
|
||||||
/* Mask an interrupt. */
|
/* Mask an interrupt. */
|
||||||
static void tile_irq_chip_mask(unsigned int irq)
|
static void tile_irq_chip_mask(struct irq_data *d)
|
||||||
{
|
{
|
||||||
mask_irqs(1UL << irq);
|
mask_irqs(1UL << d->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unmask an interrupt. */
|
/* Unmask an interrupt. */
|
||||||
static void tile_irq_chip_unmask(unsigned int irq)
|
static void tile_irq_chip_unmask(struct irq_data *d)
|
||||||
{
|
{
|
||||||
unmask_irqs(1UL << irq);
|
unmask_irqs(1UL << d->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Clear an interrupt before processing it so that any new assertions
|
* Clear an interrupt before processing it so that any new assertions
|
||||||
* will trigger another irq.
|
* will trigger another irq.
|
||||||
*/
|
*/
|
||||||
static void tile_irq_chip_ack(unsigned int irq)
|
static void tile_irq_chip_ack(struct irq_data *d)
|
||||||
{
|
{
|
||||||
if ((unsigned long)get_irq_chip_data(irq) != IS_HW_CLEARED)
|
if ((unsigned long)irq_data_get_irq_chip_data(d) != IS_HW_CLEARED)
|
||||||
clear_irqs(1UL << irq);
|
clear_irqs(1UL << d->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For per-cpu interrupts, we need to avoid unmasking any interrupts
|
* For per-cpu interrupts, we need to avoid unmasking any interrupts
|
||||||
* that we disabled via disable_percpu_irq().
|
* that we disabled via disable_percpu_irq().
|
||||||
*/
|
*/
|
||||||
static void tile_irq_chip_eoi(unsigned int irq)
|
static void tile_irq_chip_eoi(struct irq_data *d)
|
||||||
{
|
{
|
||||||
if (!(__get_cpu_var(irq_disable_mask) & (1UL << irq)))
|
if (!(__get_cpu_var(irq_disable_mask) & (1UL << d->irq)))
|
||||||
unmask_irqs(1UL << irq);
|
unmask_irqs(1UL << d->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irq_chip tile_irq_chip = {
|
static struct irq_chip tile_irq_chip = {
|
||||||
.name = "tile_irq_chip",
|
.name = "tile_irq_chip",
|
||||||
.ack = tile_irq_chip_ack,
|
.irq_ack = tile_irq_chip_ack,
|
||||||
.eoi = tile_irq_chip_eoi,
|
.irq_eoi = tile_irq_chip_eoi,
|
||||||
.mask = tile_irq_chip_mask,
|
.irq_mask = tile_irq_chip_mask,
|
||||||
.unmask = tile_irq_chip_unmask,
|
.irq_unmask = tile_irq_chip_unmask,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init init_IRQ(void)
|
void __init init_IRQ(void)
|
||||||
|
Reference in New Issue
Block a user