Hi Peter, Thank you for the patch. On Tuesday, 29 August 2017 10:32:16 EEST Peter Ujfalusi wrote: > Sort the dssdev array based on DT aliases. > > With this change we can remove the panel ordering from dss/display.c and > have all sorting related to dssdevs in one place. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > --- > drivers/gpu/drm/omapdrm/omap_drv.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c > b/drivers/gpu/drm/omapdrm/omap_drv.c index 32dc0e88220f..0e100a359d26 > 100644 > --- a/drivers/gpu/drm/omapdrm/omap_drv.c > +++ b/drivers/gpu/drm/omapdrm/omap_drv.c > @@ -18,6 +18,8 @@ > */ > > #include <linux/sys_soc.h> > +#include <linux/sort.h> > +#include <linux/of.h> Please keep this list alphabetically sorted. > #include <drm/drm_atomic.h> > #include <drm/drm_atomic_helper.h> > @@ -162,6 +164,22 @@ static void omap_disconnect_dssdevs(struct drm_device > *ddev) priv->num_dssdevs = 0; > } > > +static int omap_compare_dssdevs(const void *a, const void *b) > +{ > + const struct omap_dss_device *dssdev1 = *(struct omap_dss_device **)a; > + const struct omap_dss_device *dssdev2 = *(struct omap_dss_device **)b; > + int id1, id2; > + > + id1 = of_alias_get_id(dssdev1->dev->of_node, "display"); > + id2 = of_alias_get_id(dssdev2->dev->of_node, "display"); Getting the alias id is a bit costly, how about caching them ? > + if (id1 > id2) > + return 1; > + else if (id1 < id2) > + return -1; > + return 0; > +} > + > static void omap_collect_dssdevs(struct drm_device *ddev) > { > struct omap_drm_private *priv = ddev->dev_private; > @@ -176,6 +194,10 @@ static void omap_collect_dssdevs(struct drm_device > *ddev) break; > } > } > + > + /* Sort the list by DT aliases */ > + sort(priv->dssdevs, priv->num_dssdevs, sizeof(priv->dssdevs[0]), > + omap_compare_dssdevs, NULL); > } > > static int omap_connect_dssdevs(struct drm_device *ddev) -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel