for (i = 0; i < HVMAXARCHITECTEDVIRTUALDISKS; i++) {
                snprintf(buf, 32, "viodasd@%08x", reg + i);
                dt_start_node(dt, buf);
-               dt_prop_str(dt, "device_type", "viodasd");
-               dt_prop_str(dt, "compatible", "");
+               dt_prop_str(dt, "device_type", "block");
+               dt_prop_str(dt, "compatible", "IBM,iSeries-viodasd");
                dt_prop_u32(dt, "reg", reg + i);
                dt_prop_u32(dt, "linux,unit_address", i);
                dt_end_node(dt);
 
  * support.
  */
 static struct vio_device_id viodasd_device_table[] __devinitdata = {
-       { "viodasd", "" },
+       { "block", "IBM,iSeries-viodasd" },
        { "", "" }
 };
 MODULE_DEVICE_TABLE(vio, viodasd_device_table);