chip.c (a005677b3dd05decdd8880cf3044ae709856f58f) chip.c (876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4)
1/*
2 * linux/kernel/irq/chip.c
3 *
4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
5 * Copyright (C) 2005-2006, Thomas Gleixner, Russell King
6 *
7 * This file contains the core interrupt handling code, for irq-chip
8 * based architectures.

--- 696 unchanged lines hidden (view full) ---

705
706 if (!desc)
707 return;
708
709 raw_spin_lock_irqsave(&desc->lock, flags);
710
711 irq_settings_clr_and_set(desc, clr, set);
712
1/*
2 * linux/kernel/irq/chip.c
3 *
4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
5 * Copyright (C) 2005-2006, Thomas Gleixner, Russell King
6 *
7 * This file contains the core interrupt handling code, for irq-chip
8 * based architectures.

--- 696 unchanged lines hidden (view full) ---

705
706 if (!desc)
707 return;
708
709 raw_spin_lock_irqsave(&desc->lock, flags);
710
711 irq_settings_clr_and_set(desc, clr, set);
712
713 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU);
713 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU |
714 IRQD_TRIGGER_MASK | IRQD_LEVEL);
714 if (irq_settings_has_no_balance_set(desc))
715 irqd_set(&desc->irq_data, IRQD_NO_BALANCING);
716 if (irq_settings_is_per_cpu(desc))
717 irqd_set(&desc->irq_data, IRQD_PER_CPU);
718
715 if (irq_settings_has_no_balance_set(desc))
716 irqd_set(&desc->irq_data, IRQD_NO_BALANCING);
717 if (irq_settings_is_per_cpu(desc))
718 irqd_set(&desc->irq_data, IRQD_PER_CPU);
719
720 irqd_set(&desc->irq_data, irq_settings_get_trigger_mask(desc));
721
719 raw_spin_unlock_irqrestore(&desc->lock, flags);
720}
722 raw_spin_unlock_irqrestore(&desc->lock, flags);
723}