int omapdss_register_display(struct omap_dss_device *dssdev)
 {
        struct omap_dss_driver *drv = dssdev->driver;
-       struct list_head *cur;
        int id;
 
        /*
 
        dssdev->alias_id = id;
 
-       snprintf(dssdev->alias, sizeof(dssdev->alias), "display%d", id);
-
        /* Use 'label' property for name, if it exists */
        of_property_read_string(dssdev->dev->of_node, "label", &dssdev->name);
 
        if (dssdev->name == NULL)
-               dssdev->name = dssdev->alias;
+               dssdev->name = devm_kasprintf(dssdev->dev, GFP_KERNEL,
+                                             "display%u", id);
 
        if (drv && drv->get_timings == NULL)
                drv->get_timings = omapdss_default_get_timings;
 
        mutex_lock(&panel_list_mutex);
-       list_for_each(cur, &panel_list) {
-               struct omap_dss_device *ldev = list_entry(cur,
-                                                        struct omap_dss_device,
-                                                        panel_list);
-               if (strcmp(ldev->alias, dssdev->alias) > 0)
-                       break;
-       }
-       list_add_tail(&dssdev->panel_list, cur);
+       list_add_tail(&dssdev->panel_list, &panel_list);
        mutex_unlock(&panel_list_mutex);
        return 0;
 }