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