forked from luck/tmp_suning_uos_patched
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:
parent
342d87ef21
commit
f5b42c93d8
@ -176,43 +176,43 @@ void disable_percpu_irq(unsigned int irq)
|
||||
EXPORT_SYMBOL(disable_percpu_irq);
|
||||
|
||||
/* 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. */
|
||||
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
|
||||
* 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)
|
||||
clear_irqs(1UL << irq);
|
||||
if ((unsigned long)irq_data_get_irq_chip_data(d) != IS_HW_CLEARED)
|
||||
clear_irqs(1UL << d->irq);
|
||||
}
|
||||
|
||||
/*
|
||||
* For per-cpu interrupts, we need to avoid unmasking any interrupts
|
||||
* 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)))
|
||||
unmask_irqs(1UL << irq);
|
||||
if (!(__get_cpu_var(irq_disable_mask) & (1UL << d->irq)))
|
||||
unmask_irqs(1UL << d->irq);
|
||||
}
|
||||
|
||||
static struct irq_chip tile_irq_chip = {
|
||||
.name = "tile_irq_chip",
|
||||
.ack = tile_irq_chip_ack,
|
||||
.eoi = tile_irq_chip_eoi,
|
||||
.mask = tile_irq_chip_mask,
|
||||
.unmask = tile_irq_chip_unmask,
|
||||
.irq_ack = tile_irq_chip_ack,
|
||||
.irq_eoi = tile_irq_chip_eoi,
|
||||
.irq_mask = tile_irq_chip_mask,
|
||||
.irq_unmask = tile_irq_chip_unmask,
|
||||
};
|
||||
|
||||
void __init init_IRQ(void)
|
||||
|
Loading…
Reference in New Issue
Block a user