diff options
Diffstat (limited to 'arch/powerpc/sysdev/i8259.c')
-rw-r--r-- | arch/powerpc/sysdev/i8259.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c index ad87adc975bc..7c1b27ac7d3c 100644 --- a/arch/powerpc/sysdev/i8259.c +++ b/arch/powerpc/sysdev/i8259.c | |||
@@ -25,7 +25,6 @@ static unsigned char cached_8259[2] = { 0xff, 0xff }; | |||
25 | 25 | ||
26 | static DEFINE_SPINLOCK(i8259_lock); | 26 | static DEFINE_SPINLOCK(i8259_lock); |
27 | 27 | ||
28 | static struct device_node *i8259_node; | ||
29 | static struct irq_host *i8259_host; | 28 | static struct irq_host *i8259_host; |
30 | 29 | ||
31 | /* | 30 | /* |
@@ -165,7 +164,7 @@ static struct resource pic_edgectrl_iores = { | |||
165 | 164 | ||
166 | static int i8259_host_match(struct irq_host *h, struct device_node *node) | 165 | static int i8259_host_match(struct irq_host *h, struct device_node *node) |
167 | { | 166 | { |
168 | return i8259_node == NULL || i8259_node == node; | 167 | return h->of_node == NULL || h->of_node == node; |
169 | } | 168 | } |
170 | 169 | ||
171 | static int i8259_host_map(struct irq_host *h, unsigned int virq, | 170 | static int i8259_host_map(struct irq_host *h, unsigned int virq, |
@@ -276,9 +275,8 @@ void i8259_init(struct device_node *node, unsigned long intack_addr) | |||
276 | spin_unlock_irqrestore(&i8259_lock, flags); | 275 | spin_unlock_irqrestore(&i8259_lock, flags); |
277 | 276 | ||
278 | /* create a legacy host */ | 277 | /* create a legacy host */ |
279 | if (node) | 278 | i8259_host = irq_alloc_host(of_node_get(node), IRQ_HOST_MAP_LEGACY, |
280 | i8259_node = of_node_get(node); | 279 | 0, &i8259_host_ops, 0); |
281 | i8259_host = irq_alloc_host(IRQ_HOST_MAP_LEGACY, 0, &i8259_host_ops, 0); | ||
282 | if (i8259_host == NULL) { | 280 | if (i8259_host == NULL) { |
283 | printk(KERN_ERR "i8259: failed to allocate irq host !\n"); | 281 | printk(KERN_ERR "i8259: failed to allocate irq host !\n"); |
284 | return; | 282 | return; |