diff options
Diffstat (limited to 'arch/sparc64')
-rw-r--r-- | arch/sparc64/kernel/irq.c | 12 | ||||
-rw-r--r-- | arch/sparc64/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/sparc64/mm/init.c | 3 |
3 files changed, 9 insertions, 8 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c index cc89b06d0178..ab9e640df228 100644 --- a/arch/sparc64/kernel/irq.c +++ b/arch/sparc64/kernel/irq.c | |||
@@ -151,7 +151,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
151 | for_each_online_cpu(j) | 151 | for_each_online_cpu(j) |
152 | seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); | 152 | seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); |
153 | #endif | 153 | #endif |
154 | seq_printf(p, " %9s", irq_desc[i].handler->typename); | 154 | seq_printf(p, " %9s", irq_desc[i].chip->typename); |
155 | seq_printf(p, " %s", action->name); | 155 | seq_printf(p, " %s", action->name); |
156 | 156 | ||
157 | for (action=action->next; action; action = action->next) | 157 | for (action=action->next; action; action = action->next) |
@@ -224,7 +224,7 @@ static inline struct ino_bucket *virt_irq_to_bucket(unsigned int virt_irq) | |||
224 | #ifdef CONFIG_SMP | 224 | #ifdef CONFIG_SMP |
225 | static int irq_choose_cpu(unsigned int virt_irq) | 225 | static int irq_choose_cpu(unsigned int virt_irq) |
226 | { | 226 | { |
227 | cpumask_t mask = irq_affinity[virt_irq]; | 227 | cpumask_t mask = irq_desc[virt_irq].affinity; |
228 | int cpuid; | 228 | int cpuid; |
229 | 229 | ||
230 | if (cpus_equal(mask, CPU_MASK_ALL)) { | 230 | if (cpus_equal(mask, CPU_MASK_ALL)) { |
@@ -414,8 +414,8 @@ void irq_install_pre_handler(int virt_irq, | |||
414 | data->pre_handler_arg1 = arg1; | 414 | data->pre_handler_arg1 = arg1; |
415 | data->pre_handler_arg2 = arg2; | 415 | data->pre_handler_arg2 = arg2; |
416 | 416 | ||
417 | desc->handler = (desc->handler == &sun4u_irq ? | 417 | desc->chip = (desc->chip == &sun4u_irq ? |
418 | &sun4u_irq_ack : &sun4v_irq_ack); | 418 | &sun4u_irq_ack : &sun4v_irq_ack); |
419 | } | 419 | } |
420 | 420 | ||
421 | unsigned int build_irq(int inofixup, unsigned long iclr, unsigned long imap) | 421 | unsigned int build_irq(int inofixup, unsigned long iclr, unsigned long imap) |
@@ -431,7 +431,7 @@ unsigned int build_irq(int inofixup, unsigned long iclr, unsigned long imap) | |||
431 | bucket = &ivector_table[ino]; | 431 | bucket = &ivector_table[ino]; |
432 | if (!bucket->virt_irq) { | 432 | if (!bucket->virt_irq) { |
433 | bucket->virt_irq = virt_irq_alloc(__irq(bucket)); | 433 | bucket->virt_irq = virt_irq_alloc(__irq(bucket)); |
434 | irq_desc[bucket->virt_irq].handler = &sun4u_irq; | 434 | irq_desc[bucket->virt_irq].chip = &sun4u_irq; |
435 | } | 435 | } |
436 | 436 | ||
437 | desc = irq_desc + bucket->virt_irq; | 437 | desc = irq_desc + bucket->virt_irq; |
@@ -465,7 +465,7 @@ unsigned int sun4v_build_irq(u32 devhandle, unsigned int devino) | |||
465 | bucket = &ivector_table[sysino]; | 465 | bucket = &ivector_table[sysino]; |
466 | if (!bucket->virt_irq) { | 466 | if (!bucket->virt_irq) { |
467 | bucket->virt_irq = virt_irq_alloc(__irq(bucket)); | 467 | bucket->virt_irq = virt_irq_alloc(__irq(bucket)); |
468 | irq_desc[bucket->virt_irq].handler = &sun4v_irq; | 468 | irq_desc[bucket->virt_irq].chip = &sun4v_irq; |
469 | } | 469 | } |
470 | 470 | ||
471 | desc = irq_desc + bucket->virt_irq; | 471 | desc = irq_desc + bucket->virt_irq; |
diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c index a6a7d8168346..116d9632002d 100644 --- a/arch/sparc64/kernel/setup.c +++ b/arch/sparc64/kernel/setup.c | |||
@@ -537,7 +537,7 @@ static int __init topology_init(void) | |||
537 | for_each_possible_cpu(i) { | 537 | for_each_possible_cpu(i) { |
538 | struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL); | 538 | struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL); |
539 | if (p) { | 539 | if (p) { |
540 | register_cpu(p, i, NULL); | 540 | register_cpu(p, i); |
541 | err = 0; | 541 | err = 0; |
542 | } | 542 | } |
543 | } | 543 | } |
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 5c2bcf354ce6..cb75a27adb51 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/initrd.h> | 18 | #include <linux/initrd.h> |
19 | #include <linux/swap.h> | 19 | #include <linux/swap.h> |
20 | #include <linux/pagemap.h> | 20 | #include <linux/pagemap.h> |
21 | #include <linux/poison.h> | ||
21 | #include <linux/fs.h> | 22 | #include <linux/fs.h> |
22 | #include <linux/seq_file.h> | 23 | #include <linux/seq_file.h> |
23 | #include <linux/kprobes.h> | 24 | #include <linux/kprobes.h> |
@@ -1520,7 +1521,7 @@ void free_initmem(void) | |||
1520 | page = (addr + | 1521 | page = (addr + |
1521 | ((unsigned long) __va(kern_base)) - | 1522 | ((unsigned long) __va(kern_base)) - |
1522 | ((unsigned long) KERNBASE)); | 1523 | ((unsigned long) KERNBASE)); |
1523 | memset((void *)addr, 0xcc, PAGE_SIZE); | 1524 | memset((void *)addr, POISON_FREE_INITMEM, PAGE_SIZE); |
1524 | p = virt_to_page(page); | 1525 | p = virt_to_page(page); |
1525 | 1526 | ||
1526 | ClearPageReserved(p); | 1527 | ClearPageReserved(p); |