Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5694ca9f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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.
parents 76aba64a ee7022dc
Loading
Loading
Loading
Loading
+6 −7
Original line number Original line Diff line number Diff line
@@ -551,9 +551,10 @@ setup_trap_table:
	save	%sp, -192, %sp
	save	%sp, -192, %sp


	/* Force interrupts to be disabled. */
	/* Force interrupts to be disabled. */
	rdpr	%pstate, %o1
	rdpr	%pstate, %l0
	andn	%o1, PSTATE_IE, %o1
	andn	%l0, PSTATE_IE, %o1
	wrpr	%o1, 0x0, %pstate
	wrpr	%o1, 0x0, %pstate
	rdpr	%pil, %l1
	wrpr	%g0, 15, %pil
	wrpr	%g0, 15, %pil


	/* Make the firmware call to jump over to the Linux trap table.  */
	/* Make the firmware call to jump over to the Linux trap table.  */
@@ -622,11 +623,9 @@ setup_trap_table:
	call	init_irqwork_curcpu
	call	init_irqwork_curcpu
	 nop
	 nop


	/* Now we can turn interrupts back on. */
	/* Now we can restore interrupt state. */
	rdpr	%pstate, %o1
	wrpr	%l0, 0, %pstate
	or	%o1, PSTATE_IE, %o1
	wrpr	%l1, 0x0, %pil
	wrpr	%o1, 0, %pstate
	wrpr	%g0, 0x0, %pil


	ret
	ret
	 restore
	 restore
+2 −4
Original line number Original line Diff line number Diff line
@@ -1099,9 +1099,6 @@ static void pbm_register_toplevel_resources(struct pci_controller_info *p,
{
{
	char *name = pbm->name;
	char *name = pbm->name;


	sprintf(name, "PSYCHO%d PBM%c",
		p->index,
		(pbm == &p->pbm_A ? 'A' : 'B'));
	pbm->io_space.name = pbm->mem_space.name = name;
	pbm->io_space.name = pbm->mem_space.name = name;


	request_resource(&ioport_resource, &pbm->io_space);
	request_resource(&ioport_resource, &pbm->io_space);
@@ -1203,12 +1200,13 @@ static void psycho_pbm_init(struct pci_controller_info *p,
	pbm->io_space.flags = IORESOURCE_IO;
	pbm->io_space.flags = IORESOURCE_IO;
	pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE;
	pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE;
	pbm->mem_space.flags = IORESOURCE_MEM;
	pbm->mem_space.flags = IORESOURCE_MEM;
	pbm_register_toplevel_resources(p, pbm);


	pbm->parent = p;
	pbm->parent = p;
	pbm->prom_node = dp;
	pbm->prom_node = dp;
	pbm->name = dp->full_name;
	pbm->name = dp->full_name;


	pbm_register_toplevel_resources(p, pbm);

	printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n",
	printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n",
	       pbm->name,
	       pbm->name,
	       pbm->chip_version, pbm->chip_revision);
	       pbm->chip_version, pbm->chip_revision);
+0 −2
Original line number Original line Diff line number Diff line
@@ -928,8 +928,6 @@ static void sparc64_start_timers(void)
	__asm__ __volatile__("wrpr	%0, 0x0, %%pstate"
	__asm__ __volatile__("wrpr	%0, 0x0, %%pstate"
			     : /* no outputs */
			     : /* no outputs */
			     : "r" (pstate));
			     : "r" (pstate));

	local_irq_enable();
}
}


struct freq_table {
struct freq_table {
+1 −1
Original line number Original line Diff line number Diff line
@@ -1052,7 +1052,7 @@ static int __devinit sab_probe(struct of_device *op, const struct of_device_id *
	if (err)
	if (err)
		return err;
		return err;


	err = sunsab_init_one(&up[0], op, 0,
	err = sunsab_init_one(&up[1], op, 0,
			      (inst * 2) + 1);
			      (inst * 2) + 1);
	if (err) {
	if (err) {
		of_iounmap(up[0].port.membase,
		of_iounmap(up[0].port.membase,
+5 −0
Original line number Original line Diff line number Diff line
@@ -1200,6 +1200,11 @@ static int __init sunsu_kbd_ms_init(struct uart_sunsu_port *up)
	if (up->port.type == PORT_UNKNOWN)
	if (up->port.type == PORT_UNKNOWN)
		return -ENODEV;
		return -ENODEV;


	printk("%s: %s port at %lx, irq %u\n",
	       to_of_device(up->port.dev)->node->full_name,
	       (up->su_type == SU_PORT_KBD) ? "Keyboard" : "Mouse",
	       up->port.mapbase, up->port.irq);

#ifdef CONFIG_SERIO
#ifdef CONFIG_SERIO
	serio = &up->serio;
	serio = &up->serio;
	serio->port_data = up;
	serio->port_data = up;