diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2007-08-28 04:47:54 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-09-13 11:33:20 -0400 |
commit | 52964f87c64e6c6ea671b5bf3030fb1494090a48 (patch) | |
tree | 2e20d81bc05b60b7108733daf5713ea640ad2477 /arch/powerpc/kernel/irq.c | |
parent | 0ae0b54565a8dcc2b98de694b998e765de15b713 (diff) |
[POWERPC] Add an optional device_node pointer to the irq_host
The majority of irq_host implementations (3 out of 4) are associated
with a device_node, and need to stash it somewhere. Rather than having
it somewhere different for each host, add an optional device_node pointer
to the irq_host structure.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/irq.c')
-rw-r--r-- | arch/powerpc/kernel/irq.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index dfad0e469eec..79b451247b89 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -418,10 +418,11 @@ irq_hw_number_t virq_to_hw(unsigned int virq) | |||
418 | } | 418 | } |
419 | EXPORT_SYMBOL_GPL(virq_to_hw); | 419 | EXPORT_SYMBOL_GPL(virq_to_hw); |
420 | 420 | ||
421 | __init_refok struct irq_host *irq_alloc_host(unsigned int revmap_type, | 421 | __init_refok struct irq_host *irq_alloc_host(struct device_node *of_node, |
422 | unsigned int revmap_arg, | 422 | unsigned int revmap_type, |
423 | struct irq_host_ops *ops, | 423 | unsigned int revmap_arg, |
424 | irq_hw_number_t inval_irq) | 424 | struct irq_host_ops *ops, |
425 | irq_hw_number_t inval_irq) | ||
425 | { | 426 | { |
426 | struct irq_host *host; | 427 | struct irq_host *host; |
427 | unsigned int size = sizeof(struct irq_host); | 428 | unsigned int size = sizeof(struct irq_host); |
@@ -446,6 +447,7 @@ __init_refok struct irq_host *irq_alloc_host(unsigned int revmap_type, | |||
446 | host->revmap_type = revmap_type; | 447 | host->revmap_type = revmap_type; |
447 | host->inval_irq = inval_irq; | 448 | host->inval_irq = inval_irq; |
448 | host->ops = ops; | 449 | host->ops = ops; |
450 | host->of_node = of_node; | ||
449 | 451 | ||
450 | spin_lock_irqsave(&irq_big_lock, flags); | 452 | spin_lock_irqsave(&irq_big_lock, flags); |
451 | 453 | ||