[PATCH 10/24] drm/omap: dss: Remove display ordering from dss/display.c

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Feb 27 13:30:35 UTC 2018


Hi Tomi,

Thank you for the patch.

On Monday, 12 February 2018 11:44:40 EET Tomi Valkeinen wrote:
> From: Peter Ujfalusi <peter.ujfalusi at ti.com>
> 
> The previous patch implements the ordering of the dss_devices based on DT
> aliases in omap_drm.c, so there is no need to do the ordering in
> dss/display.c anymore.
> 
> At the same time remove the alias member of the omap_dss_device struct
> since it is no longer needed. The only place it was used is in the
> omapdss_register_display() function.
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
> ---
>  drivers/gpu/drm/omapdrm/dss/display.c | 15 +++------------
>  drivers/gpu/drm/omapdrm/dss/omapdss.h |  2 --
>  2 files changed, 3 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/display.c
> b/drivers/gpu/drm/omapdrm/dss/display.c index 3ef99f344bd3..7840837f4325
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/display.c
> +++ b/drivers/gpu/drm/omapdrm/dss/display.c
> @@ -41,7 +41,6 @@ static int disp_num_counter;
>  int omapdss_register_display(struct omap_dss_device *dssdev)
>  {
>  	struct omap_dss_driver *drv = dssdev->driver;
> -	struct list_head *cur;
>  	int id;
> 
>  	/*
> @@ -54,26 +53,18 @@ int omapdss_register_display(struct omap_dss_device
> *dssdev)
> 
>  	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%d", id);

Given that the size of the name is known, how about turning dssdev->name into 
a fixed-size char array ? That would remove the need for dynamic allocation.

And shouldn't you use %u instead of %d ?

> 
>  	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;
>  }
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> b/drivers/gpu/drm/omapdrm/dss/omapdss.h index bd5f174a3c56..ac8ca37ff889
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -476,8 +476,6 @@ struct omap_dss_device {
> 
>  	struct list_head panel_list;
> 
> -	/* alias in the form of "display%d" */
> -	char alias[16];
>  	int alias_id;
> 
>  	enum omap_display_type type;

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list