[PATCH 50/59] drm/arc: Inline arcpgu_drm_hdmi_init

Sam Ravnborg sam at ravnborg.org
Fri Apr 24 17:54:10 UTC 2020


Hi Daniel.

On Wed, Apr 15, 2020 at 09:40:25AM +0200, Daniel Vetter wrote:
> Really not worth the function, much less the separate file now that
> almost all the code is gone.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
>  drivers/gpu/drm/arc/Makefile      |  2 +-
>  drivers/gpu/drm/arc/arcpgu.h      |  1 -
>  drivers/gpu/drm/arc/arcpgu_drv.c  | 12 +++++++++---
>  drivers/gpu/drm/arc/arcpgu_hdmi.c | 27 ---------------------------
>  4 files changed, 10 insertions(+), 32 deletions(-)
>  delete mode 100644 drivers/gpu/drm/arc/arcpgu_hdmi.c
> 
> diff --git a/drivers/gpu/drm/arc/Makefile b/drivers/gpu/drm/arc/Makefile
> index c686e0287a71..379a1145bc2f 100644
> --- a/drivers/gpu/drm/arc/Makefile
> +++ b/drivers/gpu/drm/arc/Makefile
> @@ -1,3 +1,3 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> -arcpgu-y := arcpgu_hdmi.o arcpgu_sim.o arcpgu_drv.o
> +arcpgu-y := arcpgu_sim.o arcpgu_drv.o
>  obj-$(CONFIG_DRM_ARCPGU) += arcpgu.o
> diff --git a/drivers/gpu/drm/arc/arcpgu.h b/drivers/gpu/drm/arc/arcpgu.h
> index cee2448a07d6..7dce0c2313ba 100644
> --- a/drivers/gpu/drm/arc/arcpgu.h
> +++ b/drivers/gpu/drm/arc/arcpgu.h
> @@ -34,7 +34,6 @@ static inline u32 arc_pgu_read(struct arcpgu_drm_private *arcpgu,
>  	return ioread32(arcpgu->regs + reg);
>  }
>  
> -int arcpgu_drm_hdmi_init(struct drm_device *drm, struct device_node *np);
>  int arcpgu_drm_sim_init(struct drm_device *drm, struct device_node *np);
>  
>  #endif
> diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c
> index 2443e3c78a76..8fbfd956de0a 100644
> --- a/drivers/gpu/drm/arc/arcpgu_drv.c
> +++ b/drivers/gpu/drm/arc/arcpgu_drv.c
> @@ -227,9 +227,15 @@ static int arcpgu_load(struct arcpgu_drm_private *arcpgu)
>  	}
>  
>  	if (encoder_node) {
> -		ret = arcpgu_drm_hdmi_init(drm, encoder_node);
> -		of_node_put(encoder_node);
This put is missing when arcpgu_drm_hdmi_init() was inlined.
At least in the (!bridge) case - I did not look at the surrounding code.

	Sam

> -		if (ret < 0)
> +		struct drm_bridge *bridge;
> +
> +		/* Locate drm bridge from the hdmi encoder DT node */
> +		bridge = of_drm_find_bridge(encoder_node);
> +		if (!bridge)
> +			return -EPROBE_DEFER;
> +
> +		ret = drm_simple_display_pipe_attach_bridge(&arcpgu->pipe, bridge);
> +		if (ret)
>  			return ret;
>  	} else {
>  		dev_info(drm->dev, "no encoder found. Assumed virtual LCD on simulation platform\n");
> diff --git a/drivers/gpu/drm/arc/arcpgu_hdmi.c b/drivers/gpu/drm/arc/arcpgu_hdmi.c
> deleted file mode 100644
> index d430af686cbc..000000000000
> --- a/drivers/gpu/drm/arc/arcpgu_hdmi.c
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * ARC PGU DRM driver.
> - *
> - * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
> - */
> -
> -#include <drm/drm_bridge.h>
> -#include <drm/drm_crtc.h>
> -#include <drm/drm_encoder.h>
> -#include <drm/drm_device.h>
> -
> -#include "arcpgu.h"
> -
> -int arcpgu_drm_hdmi_init(struct drm_device *drm, struct device_node *np)
> -{
> -	struct arcpgu_drm_private *arcpgu = dev_to_arcpgu(drm);
> -	struct drm_bridge *bridge;
> -
> -	/* Locate drm bridge from the hdmi encoder DT node */
> -	bridge = of_drm_find_bridge(np);
> -	if (!bridge)
> -		return -EPROBE_DEFER;
> -
> -	/* Link drm_bridge to encoder */
> -	return drm_simple_display_pipe_attach_bridge(&arcpgu->pipe, bridge);
> -}
> -- 
> 2.25.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list