diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 21:12:06 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 21:12:06 -0500 |
| commit | aefb058b0c27dafb15072406fbfd92d2ac2c8790 (patch) | |
| tree | de24b50221cfdbd8ebedb2add38c6125de604c3d /include/linux | |
| parent | 37ea95a959d4a49846ecbf2dd45326b6b34bf049 (diff) | |
| parent | 04aa530ec04f61875b99c12721162e2964e3318c (diff) | |
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Ingo Molnar:
"Affinity fixes and a nested threaded IRQ handling fix."
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
genirq: Always force thread affinity
irq: Set CPU affinity right on thread creation
genirq: Provide means to retrigger parent
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/irq.h | 9 | ||||
| -rw-r--r-- | include/linux/irqdesc.h | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 216b0ba109d..526f10a637c 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
| @@ -392,6 +392,15 @@ static inline void irq_move_masked_irq(struct irq_data *data) { } | |||
| 392 | 392 | ||
| 393 | extern int no_irq_affinity; | 393 | extern int no_irq_affinity; |
| 394 | 394 | ||
| 395 | #ifdef CONFIG_HARDIRQS_SW_RESEND | ||
| 396 | int irq_set_parent(int irq, int parent_irq); | ||
| 397 | #else | ||
| 398 | static inline int irq_set_parent(int irq, int parent_irq) | ||
| 399 | { | ||
| 400 | return 0; | ||
| 401 | } | ||
| 402 | #endif | ||
| 403 | |||
| 395 | /* | 404 | /* |
| 396 | * Built-in IRQ handlers for various IRQ types, | 405 | * Built-in IRQ handlers for various IRQ types, |
| 397 | * callable via desc->handle_irq() | 406 | * callable via desc->handle_irq() |
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index 0ba014c5505..623325e2ff9 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | struct irq_affinity_notify; | 11 | struct irq_affinity_notify; |
| 12 | struct proc_dir_entry; | 12 | struct proc_dir_entry; |
| 13 | struct module; | 13 | struct module; |
| 14 | struct irq_desc; | ||
| 15 | |||
| 14 | /** | 16 | /** |
| 15 | * struct irq_desc - interrupt descriptor | 17 | * struct irq_desc - interrupt descriptor |
| 16 | * @irq_data: per irq and chip data passed down to chip functions | 18 | * @irq_data: per irq and chip data passed down to chip functions |
| @@ -65,6 +67,7 @@ struct irq_desc { | |||
| 65 | #ifdef CONFIG_PROC_FS | 67 | #ifdef CONFIG_PROC_FS |
| 66 | struct proc_dir_entry *dir; | 68 | struct proc_dir_entry *dir; |
| 67 | #endif | 69 | #endif |
| 70 | int parent_irq; | ||
| 68 | struct module *owner; | 71 | struct module *owner; |
| 69 | const char *name; | 72 | const char *name; |
| 70 | } ____cacheline_internodealigned_in_smp; | 73 | } ____cacheline_internodealigned_in_smp; |
