diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/internals.h | 4 | ||||
-rw-r--r-- | kernel/irq/manage.c | 2 | ||||
-rw-r--r-- | kernel/irq/proc.c | 10 |
3 files changed, 8 insertions, 8 deletions
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h index 422dd00c8bd3..c9767e641980 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h | |||
@@ -14,11 +14,11 @@ extern int __irq_set_trigger(struct irq_desc *desc, unsigned int irq, | |||
14 | unsigned long flags); | 14 | unsigned long flags); |
15 | 15 | ||
16 | #ifdef CONFIG_PROC_FS | 16 | #ifdef CONFIG_PROC_FS |
17 | extern void register_irq_proc(unsigned int irq); | 17 | extern void register_irq_proc(unsigned int irq, struct irq_desc *desc); |
18 | extern void register_handler_proc(unsigned int irq, struct irqaction *action); | 18 | extern void register_handler_proc(unsigned int irq, struct irqaction *action); |
19 | extern void unregister_handler_proc(unsigned int irq, struct irqaction *action); | 19 | extern void unregister_handler_proc(unsigned int irq, struct irqaction *action); |
20 | #else | 20 | #else |
21 | static inline void register_irq_proc(unsigned int irq) { } | 21 | static inline void register_irq_proc(unsigned int irq, struct irq_desc *desc) { } |
22 | static inline void register_handler_proc(unsigned int irq, | 22 | static inline void register_handler_proc(unsigned int irq, |
23 | struct irqaction *action) { } | 23 | struct irqaction *action) { } |
24 | static inline void unregister_handler_proc(unsigned int irq, | 24 | static inline void unregister_handler_proc(unsigned int irq, |
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index b5943e9f95aa..5070f55fdc16 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
@@ -478,7 +478,7 @@ int setup_irq(unsigned int irq, struct irqaction *new) | |||
478 | spin_unlock_irqrestore(&desc->lock, flags); | 478 | spin_unlock_irqrestore(&desc->lock, flags); |
479 | 479 | ||
480 | new->irq = irq; | 480 | new->irq = irq; |
481 | register_irq_proc(irq); | 481 | register_irq_proc(irq, desc); |
482 | new->dir = NULL; | 482 | new->dir = NULL; |
483 | register_handler_proc(irq, new); | 483 | register_handler_proc(irq, new); |
484 | 484 | ||
diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c index c2f356c808f6..bc0993d86c8b 100644 --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c | |||
@@ -182,11 +182,10 @@ void register_handler_proc(unsigned int irq, struct irqaction *action) | |||
182 | 182 | ||
183 | #define MAX_NAMELEN 10 | 183 | #define MAX_NAMELEN 10 |
184 | 184 | ||
185 | void register_irq_proc(unsigned int irq) | 185 | void register_irq_proc(unsigned int irq, struct irq_desc *desc) |
186 | { | 186 | { |
187 | char name [MAX_NAMELEN]; | 187 | char name [MAX_NAMELEN]; |
188 | struct proc_dir_entry *entry; | 188 | struct proc_dir_entry *entry; |
189 | struct irq_desc *desc = irq_to_desc(irq); | ||
190 | 189 | ||
191 | if (!root_irq_dir || (desc->chip == &no_irq_chip) || desc->dir) | 190 | if (!root_irq_dir || (desc->chip == &no_irq_chip) || desc->dir) |
192 | return; | 191 | return; |
@@ -230,7 +229,8 @@ void register_default_affinity_proc(void) | |||
230 | 229 | ||
231 | void init_irq_proc(void) | 230 | void init_irq_proc(void) |
232 | { | 231 | { |
233 | int i; | 232 | unsigned int irq; |
233 | struct irq_desc *desc; | ||
234 | 234 | ||
235 | /* create /proc/irq */ | 235 | /* create /proc/irq */ |
236 | root_irq_dir = proc_mkdir("irq", NULL); | 236 | root_irq_dir = proc_mkdir("irq", NULL); |
@@ -242,7 +242,7 @@ void init_irq_proc(void) | |||
242 | /* | 242 | /* |
243 | * Create entries for all existing IRQs. | 243 | * Create entries for all existing IRQs. |
244 | */ | 244 | */ |
245 | for (i = 0; i < nr_irqs; i++) | 245 | for_each_irq_desc(irq, desc) |
246 | register_irq_proc(i); | 246 | register_irq_proc(irq, desc); |
247 | } | 247 | } |
248 | 248 | ||