diff mbox

[v2,16/60] drm/omap: dss: Create and use omapdss_device_is_registered()

Message ID 20180526172518.18710-17-laurent.pinchart@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart May 26, 2018, 5:24 p.m. UTC
The omapdss_component_is_loaded() function test whether a component is
loaded by checking whether it is present in the displays list or the
outputs list. Simplify the implementation by checking for the component
in the global omap_dss_device list.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/gpu/drm/omapdrm/dss/base.c    | 22 +++++++++++++++++++---
 drivers/gpu/drm/omapdrm/dss/display.c | 18 ------------------
 drivers/gpu/drm/omapdrm/dss/omapdss.h |  3 ---
 drivers/gpu/drm/omapdrm/dss/output.c  | 13 -------------
 4 files changed, 19 insertions(+), 37 deletions(-)

Comments

Sebastian Reichel June 10, 2018, 7:04 p.m. UTC | #1
Hi,

On Sat, May 26, 2018 at 08:24:34PM +0300, Laurent Pinchart wrote:
> The omapdss_component_is_loaded() function test whether a component is
> loaded by checking whether it is present in the displays list or the
> outputs list. Simplify the implementation by checking for the component
> in the global omap_dss_device list.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>

-- Sebastian

>  drivers/gpu/drm/omapdrm/dss/base.c    | 22 +++++++++++++++++++---
>  drivers/gpu/drm/omapdrm/dss/display.c | 18 ------------------
>  drivers/gpu/drm/omapdrm/dss/omapdss.h |  3 ---
>  drivers/gpu/drm/omapdrm/dss/output.c  | 13 -------------
>  4 files changed, 19 insertions(+), 37 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c
> index 18b72d7c717a..63fe0a717884 100644
> --- a/drivers/gpu/drm/omapdrm/dss/base.c
> +++ b/drivers/gpu/drm/omapdrm/dss/base.c
> @@ -71,6 +71,24 @@ void omapdss_device_unregister(struct omap_dss_device *dssdev)
>  	mutex_unlock(&omapdss_devices_lock);
>  }
>  
> +static bool omapdss_device_is_registered(struct device_node *node)
> +{
> +	struct omap_dss_device *dssdev;
> +	bool found = false;
> +
> +	mutex_lock(&omapdss_devices_lock);
> +
> +	list_for_each_entry(dssdev, &omapdss_devices_list, list) {
> +		if (dssdev->dev->of_node == node) {
> +			found = true;
> +			break;
> +		}
> +	}
> +
> +	mutex_unlock(&omapdss_devices_lock);
> +	return found;
> +}
> +
>  /* -----------------------------------------------------------------------------
>   * Components Handling
>   */
> @@ -157,9 +175,7 @@ static bool omapdss_component_is_loaded(struct omapdss_comp_node *comp)
>  {
>  	if (comp->dss_core_component)
>  		return true;
> -	if (omapdss_component_is_display(comp->node))
> -		return true;
> -	if (omapdss_component_is_output(comp->node))
> +	if (omapdss_device_is_registered(comp->node))
>  		return true;
>  
>  	return false;
> diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
> index eacbbf45f737..383512c8a466 100644
> --- a/drivers/gpu/drm/omapdrm/dss/display.c
> +++ b/drivers/gpu/drm/omapdrm/dss/display.c
> @@ -72,24 +72,6 @@ void omapdss_unregister_display(struct omap_dss_device *dssdev)
>  }
>  EXPORT_SYMBOL(omapdss_unregister_display);
>  
> -bool omapdss_component_is_display(struct device_node *node)
> -{
> -	struct omap_dss_device *dssdev;
> -	bool found = false;
> -
> -	mutex_lock(&panel_list_mutex);
> -	list_for_each_entry(dssdev, &panel_list, panel_list) {
> -		if (dssdev->dev->of_node == node) {
> -			found = true;
> -			goto out;
> -		}
> -	}
> -out:
> -	mutex_unlock(&panel_list_mutex);
> -	return found;
> -}
> -EXPORT_SYMBOL(omapdss_component_is_display);
> -
>  struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev)
>  {
>  	if (!try_module_get(dssdev->owner))
> diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> index e029613509a1..1ccf0c67d308 100644
> --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
> +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
> @@ -737,9 +737,6 @@ struct dispc_ops {
>  struct dispc_device *dispc_get_dispc(struct dss_device *dss);
>  const struct dispc_ops *dispc_get_ops(struct dss_device *dss);
>  
> -bool omapdss_component_is_display(struct device_node *node);
> -bool omapdss_component_is_output(struct device_node *node);
> -
>  bool omapdss_stack_is_ready(void);
>  void omapdss_gather_components(struct device *dev);
>  
> diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c
> index 1a2d24906edd..7f18153a1bde 100644
> --- a/drivers/gpu/drm/omapdrm/dss/output.c
> +++ b/drivers/gpu/drm/omapdrm/dss/output.c
> @@ -109,19 +109,6 @@ void omapdss_unregister_output(struct omap_dss_device *out)
>  }
>  EXPORT_SYMBOL(omapdss_unregister_output);
>  
> -bool omapdss_component_is_output(struct device_node *node)
> -{
> -	struct omap_dss_device *out;
> -
> -	list_for_each_entry(out, &output_list, output_list) {
> -		if (out->dev->of_node == node)
> -			return true;
> -	}
> -
> -	return false;
> -}
> -EXPORT_SYMBOL(omapdss_component_is_output);
> -
>  struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id)
>  {
>  	struct omap_dss_device *out;
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c
index 18b72d7c717a..63fe0a717884 100644
--- a/drivers/gpu/drm/omapdrm/dss/base.c
+++ b/drivers/gpu/drm/omapdrm/dss/base.c
@@ -71,6 +71,24 @@  void omapdss_device_unregister(struct omap_dss_device *dssdev)
 	mutex_unlock(&omapdss_devices_lock);
 }
 
+static bool omapdss_device_is_registered(struct device_node *node)
+{
+	struct omap_dss_device *dssdev;
+	bool found = false;
+
+	mutex_lock(&omapdss_devices_lock);
+
+	list_for_each_entry(dssdev, &omapdss_devices_list, list) {
+		if (dssdev->dev->of_node == node) {
+			found = true;
+			break;
+		}
+	}
+
+	mutex_unlock(&omapdss_devices_lock);
+	return found;
+}
+
 /* -----------------------------------------------------------------------------
  * Components Handling
  */
@@ -157,9 +175,7 @@  static bool omapdss_component_is_loaded(struct omapdss_comp_node *comp)
 {
 	if (comp->dss_core_component)
 		return true;
-	if (omapdss_component_is_display(comp->node))
-		return true;
-	if (omapdss_component_is_output(comp->node))
+	if (omapdss_device_is_registered(comp->node))
 		return true;
 
 	return false;
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index eacbbf45f737..383512c8a466 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -72,24 +72,6 @@  void omapdss_unregister_display(struct omap_dss_device *dssdev)
 }
 EXPORT_SYMBOL(omapdss_unregister_display);
 
-bool omapdss_component_is_display(struct device_node *node)
-{
-	struct omap_dss_device *dssdev;
-	bool found = false;
-
-	mutex_lock(&panel_list_mutex);
-	list_for_each_entry(dssdev, &panel_list, panel_list) {
-		if (dssdev->dev->of_node == node) {
-			found = true;
-			goto out;
-		}
-	}
-out:
-	mutex_unlock(&panel_list_mutex);
-	return found;
-}
-EXPORT_SYMBOL(omapdss_component_is_display);
-
 struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev)
 {
 	if (!try_module_get(dssdev->owner))
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index e029613509a1..1ccf0c67d308 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -737,9 +737,6 @@  struct dispc_ops {
 struct dispc_device *dispc_get_dispc(struct dss_device *dss);
 const struct dispc_ops *dispc_get_ops(struct dss_device *dss);
 
-bool omapdss_component_is_display(struct device_node *node);
-bool omapdss_component_is_output(struct device_node *node);
-
 bool omapdss_stack_is_ready(void);
 void omapdss_gather_components(struct device *dev);
 
diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c
index 1a2d24906edd..7f18153a1bde 100644
--- a/drivers/gpu/drm/omapdrm/dss/output.c
+++ b/drivers/gpu/drm/omapdrm/dss/output.c
@@ -109,19 +109,6 @@  void omapdss_unregister_output(struct omap_dss_device *out)
 }
 EXPORT_SYMBOL(omapdss_unregister_output);
 
-bool omapdss_component_is_output(struct device_node *node)
-{
-	struct omap_dss_device *out;
-
-	list_for_each_entry(out, &output_list, output_list) {
-		if (out->dev->of_node == node)
-			return true;
-	}
-
-	return false;
-}
-EXPORT_SYMBOL(omapdss_component_is_output);
-
 struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id)
 {
 	struct omap_dss_device *out;