Browse Source

[SPARC64]: Fix of_device bus_id settings.

They have to be unique system-wide, so use
"NAME@NODE" as the string pattern of the non-root
nodes.

Thanks to Andrew Morton for fixing the error value
checking in bus_add_device() which made this problem
finally noticable.

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 18 years ago
parent
commit
4b75eb2bd3
1 changed files with 1 additions and 1 deletions
  1. 1 1
      arch/sparc64/kernel/of_device.c

+ 1 - 1
arch/sparc64/kernel/of_device.c

@@ -841,7 +841,7 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
 	if (!parent)
 		strcpy(op->dev.bus_id, "root");
 	else
-		strcpy(op->dev.bus_id, dp->path_component_name);
+		sprintf(op->dev.bus_id, "%s@%08x", dp->name, dp->node);
 
 	if (of_device_register(op)) {
 		printk("%s: Could not register of device.\n",