reset_device(dev, 0);
 }
 
+static int disp_num_counter;
+
 int omap_dss_register_device(struct omap_dss_device *dssdev,
-               struct device *parent, int disp_num)
+               struct device *parent)
 {
-       WARN_ON(!dssdev->driver_name);
-
        reset_device(&dssdev->dev, 1);
+
        dssdev->dev.bus = &dss_bus_type;
        dssdev->dev.parent = parent;
        dssdev->dev.release = omap_dss_dev_release;
-       dev_set_name(&dssdev->dev, "display%d", disp_num);
+       dev_set_name(&dssdev->dev, "display%d", disp_num_counter++);
        return device_register(&dssdev->dev);
 }
 
 
                        continue;
                }
 
-               r = omap_dss_register_device(dssdev, &pdev->dev, i);
+               r = omap_dss_register_device(dssdev, &pdev->dev);
                if (r)
                        DSSERR("device %s register failed: %d\n",
                                        dssdev->name, r);
 
                        continue;
                }
 
-               r = omap_dss_register_device(dssdev, &dsidev->dev, i);
+               r = omap_dss_register_device(dssdev, &dsidev->dev);
                if (r)
                        DSSERR("device %s register failed: %d\n",
                                        dssdev->name, r);
 
 int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *));
 
 int omap_dss_register_device(struct omap_dss_device *dssdev,
-               struct device *parent, int disp_num);
+               struct device *parent);
 void omap_dss_unregister_device(struct omap_dss_device *dssdev);
 void omap_dss_unregister_child_devices(struct device *parent);
 
 
                        continue;
                }
 
-               r = omap_dss_register_device(dssdev, &pdev->dev, i);
+               r = omap_dss_register_device(dssdev, &pdev->dev);
                if (r)
                        DSSERR("device %s register failed: %d\n",
                                        dssdev->name, r);
 
                        continue;
                }
 
-               r = omap_dss_register_device(dssdev, &pdev->dev, i);
+               r = omap_dss_register_device(dssdev, &pdev->dev);
                if (r)
                        DSSERR("device %s register failed: %d\n",
                                dssdev->name, r);
 
                        continue;
                }
 
-               r = omap_dss_register_device(dssdev, &pdev->dev, i);
+               r = omap_dss_register_device(dssdev, &pdev->dev);
                if (r)
                        DSSERR("device %s register failed: %d\n",
                                        dssdev->name, r);
 
                        continue;
                }
 
-               r = omap_dss_register_device(dssdev, &pdev->dev, i);
+               r = omap_dss_register_device(dssdev, &pdev->dev);
                if (r)
                        DSSERR("device %s register failed: %d\n",
                                        dssdev->name, r);