提交 07607c54 编写于 作者: D David S. Miller

[SPARC64]: Fix domain-services port probing.

We should only use ports underneath "domain-services", other DS ports
in the MDESC aren't for us to use.
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 a4aa2e86
......@@ -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",
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册