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.vet...@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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to