|
@@ -83,6 +83,7 @@ static int disp_num_counter;
|
|
int omapdss_register_display(struct omap_dss_device *dssdev)
|
|
int omapdss_register_display(struct omap_dss_device *dssdev)
|
|
{
|
|
{
|
|
struct omap_dss_driver *drv = dssdev->driver;
|
|
struct omap_dss_driver *drv = dssdev->driver;
|
|
|
|
+ struct list_head *cur;
|
|
int id;
|
|
int id;
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -118,7 +119,14 @@ int omapdss_register_display(struct omap_dss_device *dssdev)
|
|
drv->get_timings = omapdss_default_get_timings;
|
|
drv->get_timings = omapdss_default_get_timings;
|
|
|
|
|
|
mutex_lock(&panel_list_mutex);
|
|
mutex_lock(&panel_list_mutex);
|
|
- list_add_tail(&dssdev->panel_list, &panel_list);
|
|
|
|
|
|
+ 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);
|
|
mutex_unlock(&panel_list_mutex);
|
|
mutex_unlock(&panel_list_mutex);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|