Commit cd8d109f authored by David S. Miller's avatar David S. Miller

[SUNZILOG]: Adapt sun4u get_zs for Peters new scanning scheme.

parent 060c05b9
...@@ -1036,22 +1036,10 @@ static void __init sunzilog_alloc_tables(void) ...@@ -1036,22 +1036,10 @@ static void __init sunzilog_alloc_tables(void)
/* We used to attempt to use the address property of the Zilog device node /* We used to attempt to use the address property of the Zilog device node
* but that totally is not necessary on sparc64. * but that totally is not necessary on sparc64.
*/ */
static struct zilog_layout * __init get_zs_sun4u(int chip, int node) static struct zilog_layout * __init get_zs_sun4u(int chip, int zsnode)
{ {
unsigned long mapped_addr = 0xdeadbeefUL; unsigned long mapped_addr;
unsigned int sun4u_ino; unsigned int sun4u_ino;
int zsnode, seen;
zsnode = node;
seen = 0;
while (zsnode) {
int slave;
zsnode = prom_searchsiblings(zsnode, "zs");
if (zsnode == 0 || zsnode == -1)
break;
slave = prom_getintdefault(zsnode, "slave", -1);
if ((slave == chip) || (seen == chip)) {
struct sbus_bus *sbus = NULL; struct sbus_bus *sbus = NULL;
struct sbus_dev *sdev = NULL; struct sbus_dev *sdev = NULL;
int err; int err;
...@@ -1111,16 +1099,6 @@ static struct zilog_layout * __init get_zs_sun4u(int chip, int node) ...@@ -1111,16 +1099,6 @@ static struct zilog_layout * __init get_zs_sun4u(int chip, int node)
zilog_irq = sbus_build_irq(sbus_root, sun4u_ino); zilog_irq = sbus_build_irq(sbus_root, sun4u_ino);
} }
} }
break;
}
zsnode = prom_getsibling(zsnode);
seen++;
}
if (zsnode == 0 || zsnode == -1) {
prom_printf("SunZilog: Cannot find Zilog %d in get_zs_sun4u.\n", chip);
prom_halt();
}
return (struct zilog_layout *) mapped_addr; return (struct zilog_layout *) mapped_addr;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment