snprintf(buf, sizeof(buf), "viocons@%08x", reg);
        dt_start_node(dt, buf);
        dt_prop_str(dt, "device_type", "serial");
-       dt_prop_empty(dt, "compatible");
+       dt_prop_str(dt, "compatible", "");
        dt_prop_u32(dt, "reg", reg);
        dt_end_node(dt);
        reg++;
                snprintf(buf, 32, "vlan@%08x", reg + i);
                dt_start_node(dt, buf);
                dt_prop_str(dt, "device_type", "vlan");
-               dt_prop_empty(dt, "compatible");
+               dt_prop_str(dt, "compatible", "");
                dt_prop_u32(dt, "reg", reg + i);
                dt_prop_u32(dt, "linux,unit_address", i);
 
                snprintf(buf, 32, "viodasd@%08x", reg + i);
                dt_start_node(dt, buf);
                dt_prop_str(dt, "device_type", "viodasd");
-               dt_prop_empty(dt, "compatible");
+               dt_prop_str(dt, "compatible", "");
                dt_prop_u32(dt, "reg", reg + i);
                dt_prop_u32(dt, "linux,unit_address", i);
                dt_end_node(dt);
                snprintf(buf, 32, "viocd@%08x", reg + i);
                dt_start_node(dt, buf);
                dt_prop_str(dt, "device_type", "viocd");
-               dt_prop_empty(dt, "compatible");
+               dt_prop_str(dt, "compatible", "");
                dt_prop_u32(dt, "reg", reg + i);
                dt_prop_u32(dt, "linux,unit_address", i);
                dt_end_node(dt);
                snprintf(buf, 32, "viotape@%08x", reg + i);
                dt_start_node(dt, buf);
                dt_prop_str(dt, "device_type", "viotape");
-               dt_prop_empty(dt, "compatible");
+               dt_prop_str(dt, "compatible", "");
                dt_prop_u32(dt, "reg", reg + i);
                dt_prop_u32(dt, "linux,unit_address", i);
                dt_end_node(dt);
 
        return &vio_iommu_table;
 }
 
-/**
- * vio_match_device_iseries: - Tell if a iSeries VIO device matches a
- *     vio_device_id
- */
-static int vio_match_device_iseries(const struct vio_device_id *id,
-               const struct vio_dev *dev)
-{
-       return strncmp(dev->type, id->type, strlen(id->type)) == 0;
-}
-
 static struct vio_bus_ops vio_bus_ops_iseries = {
-       .match = vio_match_device_iseries,
        .build_iommu_table = vio_build_iommu_table,
 };
 
        iSeries_vio_dev = &vio_bus_device.dev;
        return vio_bus_init(&vio_bus_ops_iseries);
 }
-
 __initcall(vio_bus_init_iseries);
 
 
 extern struct subsystem devices_subsys; /* needed for vio_find_name() */
 
-/**
- * vio_match_device_pseries: - Tell if a pSeries VIO device matches a
- *     vio_device_id
- */
-static int vio_match_device_pseries(const struct vio_device_id *id,
-               const struct vio_dev *dev)
-{
-       return (strncmp(dev->type, id->type, strlen(id->type)) == 0) &&
-                       device_is_compatible(dev->dev.platform_data, id->compat);
-}
-
 /**
  * vio_build_iommu_table: - gets the dma information from OF and
  *     builds the TCE tree.
 }
 
 static struct vio_bus_ops vio_bus_ops_pseries = {
-       .match = vio_match_device_pseries,
        .build_iommu_table = vio_build_iommu_table,
 };