manage.c (3b56f0585fd4c02d047dc406668cb40159b2d340) | manage.c (4699923861513671d3f6ade8efb4e56a9a7ecadf) |
---|---|
1/* 2 * linux/kernel/irq/manage.c 3 * 4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 5 * Copyright (C) 2005-2006 Thomas Gleixner 6 * 7 * This file contains driver APIs to the irq subsystem. 8 */ --- 892 unchanged lines hidden (view full) --- 901#endif 902 903 desc->status &= ~(IRQ_AUTODETECT | IRQ_WAITING | IRQ_ONESHOT | 904 IRQ_INPROGRESS | IRQ_SPURIOUS_DISABLED); 905 906 if (new->flags & IRQF_ONESHOT) 907 desc->status |= IRQ_ONESHOT; 908 | 1/* 2 * linux/kernel/irq/manage.c 3 * 4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 5 * Copyright (C) 2005-2006 Thomas Gleixner 6 * 7 * This file contains driver APIs to the irq subsystem. 8 */ --- 892 unchanged lines hidden (view full) --- 901#endif 902 903 desc->status &= ~(IRQ_AUTODETECT | IRQ_WAITING | IRQ_ONESHOT | 904 IRQ_INPROGRESS | IRQ_SPURIOUS_DISABLED); 905 906 if (new->flags & IRQF_ONESHOT) 907 desc->status |= IRQ_ONESHOT; 908 |
909 if (!(desc->status & IRQ_NOAUTOEN)) { 910 desc->depth = 0; 911 desc->status &= ~IRQ_DISABLED; 912 desc->irq_data.chip->irq_startup(&desc->irq_data); 913 } else | 909 if (!(desc->status & IRQ_NOAUTOEN)) 910 irq_startup(desc); 911 else |
914 /* Undo nested disables: */ 915 desc->depth = 1; 916 917 /* Exclude IRQ from balancing if requested */ 918 if (new->flags & IRQF_NOBALANCING) 919 desc->status |= IRQ_NO_BALANCING; 920 921 /* Set default affinity mask once everything is setup */ --- 128 unchanged lines hidden (view full) --- 1050 1051 /* Currently used only by UML, might disappear one day: */ 1052#ifdef CONFIG_IRQ_RELEASE_METHOD 1053 if (desc->irq_data.chip->release) 1054 desc->irq_data.chip->release(irq, dev_id); 1055#endif 1056 1057 /* If this was the last handler, shut down the IRQ line: */ | 912 /* Undo nested disables: */ 913 desc->depth = 1; 914 915 /* Exclude IRQ from balancing if requested */ 916 if (new->flags & IRQF_NOBALANCING) 917 desc->status |= IRQ_NO_BALANCING; 918 919 /* Set default affinity mask once everything is setup */ --- 128 unchanged lines hidden (view full) --- 1048 1049 /* Currently used only by UML, might disappear one day: */ 1050#ifdef CONFIG_IRQ_RELEASE_METHOD 1051 if (desc->irq_data.chip->release) 1052 desc->irq_data.chip->release(irq, dev_id); 1053#endif 1054 1055 /* If this was the last handler, shut down the IRQ line: */ |
1058 if (!desc->action) { 1059 desc->status |= IRQ_DISABLED; 1060 desc->irq_data.chip->irq_shutdown(&desc->irq_data); 1061 } | 1056 if (!desc->action) 1057 irq_shutdown(desc); |
1062 1063#ifdef CONFIG_SMP 1064 /* make sure affinity_hint is cleaned up */ 1065 if (WARN_ON_ONCE(desc->affinity_hint)) 1066 desc->affinity_hint = NULL; 1067#endif 1068 1069 raw_spin_unlock_irqrestore(&desc->lock, flags); --- 225 unchanged lines hidden --- | 1058 1059#ifdef CONFIG_SMP 1060 /* make sure affinity_hint is cleaned up */ 1061 if (WARN_ON_ONCE(desc->affinity_hint)) 1062 desc->affinity_hint = NULL; 1063#endif 1064 1065 raw_spin_unlock_irqrestore(&desc->lock, flags); --- 225 unchanged lines hidden --- |