Skip to content

Commit

Permalink
[SPARC64]: Fix domain-services port probing.
Browse files Browse the repository at this point in the history
We should only use ports underneath "domain-services", other DS ports
in the MDESC aren't for us to use.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Oct 4, 2007
1 parent a4aa2e8 commit 07607c5
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion arch/sparc64/kernel/vio.c
Original file line number Diff line number Diff line change
Expand Up @@ -342,8 +342,33 @@ static struct mdesc_notifier_client vio_device_notifier = {
.node_name = "virtual-device-port",
};

/* We are only interested in domain service ports under the
* "domain-services" node. On control nodes there is another port
* under "openboot" that we should not mess with as aparently that is
* reserved exclusively for OBP use.
*/
static void vio_add_ds(struct mdesc_handle *hp, u64 node)
{
int found;
u64 a;

found = 0;
mdesc_for_each_arc(a, hp, node, MDESC_ARC_TYPE_BACK) {
u64 target = mdesc_arc_target(hp, a);
const char *name = mdesc_node_name(hp, target);

if (!strcmp(name, "domain-services")) {
found = 1;
break;
}
}

if (found)
(void) vio_create_one(hp, node, &root_vdev->dev);
}

static struct mdesc_notifier_client vio_ds_notifier = {
.add = vio_add,
.add = vio_add_ds,
.remove = vio_remove,
.node_name = "domain-services-port",
};
Expand Down

0 comments on commit 07607c5

Please sign in to comment.