Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64] Fix PSYCHO PCI controler init.
[SPARC64] psycho: Fix pbm->name handling in pbm_register_toplevel_resources()
[SERIAL] sunsab: Fix significant typo in sab_probe()
[SERIAL] sunsu: Report keyboard and mouse ports in kernel log.
[SPARC64]: Make sure IRQs are disabled properly during early boot.

+14 -14
+6 -7
arch/sparc64/kernel/head.S
··· 551 save %sp, -192, %sp 552 553 /* Force interrupts to be disabled. */ 554 - rdpr %pstate, %o1 555 - andn %o1, PSTATE_IE, %o1 556 wrpr %o1, 0x0, %pstate 557 wrpr %g0, 15, %pil 558 559 /* Make the firmware call to jump over to the Linux trap table. */ ··· 623 call init_irqwork_curcpu 624 nop 625 626 - /* Now we can turn interrupts back on. */ 627 - rdpr %pstate, %o1 628 - or %o1, PSTATE_IE, %o1 629 - wrpr %o1, 0, %pstate 630 - wrpr %g0, 0x0, %pil 631 632 ret 633 restore
··· 551 save %sp, -192, %sp 552 553 /* Force interrupts to be disabled. */ 554 + rdpr %pstate, %l0 555 + andn %l0, PSTATE_IE, %o1 556 wrpr %o1, 0x0, %pstate 557 + rdpr %pil, %l1 558 wrpr %g0, 15, %pil 559 560 /* Make the firmware call to jump over to the Linux trap table. */ ··· 622 call init_irqwork_curcpu 623 nop 624 625 + /* Now we can restore interrupt state. */ 626 + wrpr %l0, 0, %pstate 627 + wrpr %l1, 0x0, %pil 628 629 ret 630 restore
+2 -4
arch/sparc64/kernel/pci_psycho.c
··· 1099 { 1100 char *name = pbm->name; 1101 1102 - sprintf(name, "PSYCHO%d PBM%c", 1103 - p->index, 1104 - (pbm == &p->pbm_A ? 'A' : 'B')); 1105 pbm->io_space.name = pbm->mem_space.name = name; 1106 1107 request_resource(&ioport_resource, &pbm->io_space); ··· 1200 pbm->io_space.flags = IORESOURCE_IO; 1201 pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE; 1202 pbm->mem_space.flags = IORESOURCE_MEM; 1203 - pbm_register_toplevel_resources(p, pbm); 1204 1205 pbm->parent = p; 1206 pbm->prom_node = dp; 1207 pbm->name = dp->full_name; 1208 1209 printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n", 1210 pbm->name,
··· 1099 { 1100 char *name = pbm->name; 1101 1102 pbm->io_space.name = pbm->mem_space.name = name; 1103 1104 request_resource(&ioport_resource, &pbm->io_space); ··· 1203 pbm->io_space.flags = IORESOURCE_IO; 1204 pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE; 1205 pbm->mem_space.flags = IORESOURCE_MEM; 1206 1207 pbm->parent = p; 1208 pbm->prom_node = dp; 1209 pbm->name = dp->full_name; 1210 + 1211 + pbm_register_toplevel_resources(p, pbm); 1212 1213 printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n", 1214 pbm->name,
-2
arch/sparc64/kernel/time.c
··· 928 __asm__ __volatile__("wrpr %0, 0x0, %%pstate" 929 : /* no outputs */ 930 : "r" (pstate)); 931 - 932 - local_irq_enable(); 933 } 934 935 struct freq_table {
··· 928 __asm__ __volatile__("wrpr %0, 0x0, %%pstate" 929 : /* no outputs */ 930 : "r" (pstate)); 931 } 932 933 struct freq_table {
+1 -1
drivers/serial/sunsab.c
··· 1052 if (err) 1053 return err; 1054 1055 - err = sunsab_init_one(&up[0], op, 0, 1056 (inst * 2) + 1); 1057 if (err) { 1058 of_iounmap(up[0].port.membase,
··· 1052 if (err) 1053 return err; 1054 1055 + err = sunsab_init_one(&up[1], op, 0, 1056 (inst * 2) + 1); 1057 if (err) { 1058 of_iounmap(up[0].port.membase,
+5
drivers/serial/sunsu.c
··· 1200 if (up->port.type == PORT_UNKNOWN) 1201 return -ENODEV; 1202 1203 #ifdef CONFIG_SERIO 1204 serio = &up->serio; 1205 serio->port_data = up;
··· 1200 if (up->port.type == PORT_UNKNOWN) 1201 return -ENODEV; 1202 1203 + printk("%s: %s port at %lx, irq %u\n", 1204 + to_of_device(up->port.dev)->node->full_name, 1205 + (up->su_type == SU_PORT_KBD) ? "Keyboard" : "Mouse", 1206 + up->port.mapbase, up->port.irq); 1207 + 1208 #ifdef CONFIG_SERIO 1209 serio = &up->serio; 1210 serio->port_data = up;