/* This is here so that we can dynamically add viodasd devices without exposing all the above infrastructure.  */
struct vio_dev* vio_create_viodasd(u32 unit)
/* This is here so that we can dynamically add viodasd devices without exposing all the above infrastructure.  */
struct vio_dev* vio_create_viodasd(u32 unit)
{
	struct device_node *vio_root;
	struct device_node *np;
	struct vio_dev *vdev = NULL;
	vio_root = of_find_node_by_path("/vdevice");
	if (!vio_root)
		return NULL;
	np = do_device_node(vio_root, "viodasd", FIRST_VIODASD + unit, unit,
			"block", "IBM,iSeries-viodasd", NULL);
	of_node_put(vio_root);
	if (np) {
		vdev = vio_register_device_node(np);
		if (!vdev)
			free_node(np);
	}
	return vdev;
}