All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Alexey Brodkin <abrodkin@synopsys.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH] drm/arcpgu: remove drm_encoder_slave
Date: Tue, 30 Jan 2018 10:15:54 +0100	[thread overview]
Message-ID: <20180130091554.GC25930@phenom.ffwll.local> (raw)
In-Reply-To: <20180117141755.16933-1-daniel.vetter@ffwll.ch>

On Wed, Jan 17, 2018 at 03:17:55PM +0100, Daniel Vetter wrote:
> drm_encoder_slave is the old way to write bridge drivers, for i2c
> bridges only. It's deprecated, and definitely should not be used in
> new drivers. This has absolutely nothing to do with the new bridge
> driver infrastructure implemented by drm_bridge.
> 
> What's even strange is that arcpgu doesn't even use any of this, it
> really only wants a plain normal drm_encoder. Nuke all the surplus
> real estate.
> 
> v2: Actually git add after compile testing ...
> 
> v3: Clarify commit message and stop including drm_encoder_slave.h.
> 
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Alexey Brodkin <abrodkin@synopsys.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

I assumed this is ok and applied it to drm-misc-next.
-Daniel

> ---
>  drivers/gpu/drm/arc/arcpgu_hdmi.c |  3 ++-
>  drivers/gpu/drm/arc/arcpgu_sim.c  | 16 ++++++----------
>  2 files changed, 8 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arc/arcpgu_hdmi.c b/drivers/gpu/drm/arc/arcpgu_hdmi.c
> index 0ce7f398bcff..977dfa55162f 100644
> --- a/drivers/gpu/drm/arc/arcpgu_hdmi.c
> +++ b/drivers/gpu/drm/arc/arcpgu_hdmi.c
> @@ -15,7 +15,8 @@
>   */
>  
>  #include <drm/drm_crtc.h>
> -#include <drm/drm_encoder_slave.h>
> +#include <drm/drm_encoder.h>
> +#include <drm/drm_device.h>
>  
>  #include "arcpgu.h"
>  
> diff --git a/drivers/gpu/drm/arc/arcpgu_sim.c b/drivers/gpu/drm/arc/arcpgu_sim.c
> index bca3a678c955..b8f6f9a5dfbe 100644
> --- a/drivers/gpu/drm/arc/arcpgu_sim.c
> +++ b/drivers/gpu/drm/arc/arcpgu_sim.c
> @@ -15,7 +15,6 @@
>   */
>  
>  #include <drm/drm_crtc_helper.h>
> -#include <drm/drm_encoder_slave.h>
>  #include <drm/drm_atomic_helper.h>
>  
>  #include "arcpgu.h"
> @@ -29,7 +28,6 @@
>  
>  struct arcpgu_drm_connector {
>  	struct drm_connector connector;
> -	struct drm_encoder_slave *encoder_slave;
>  };
>  
>  static int arcpgu_drm_connector_get_modes(struct drm_connector *connector)
> @@ -68,7 +66,7 @@ static struct drm_encoder_funcs arcpgu_drm_encoder_funcs = {
>  int arcpgu_drm_sim_init(struct drm_device *drm, struct device_node *np)
>  {
>  	struct arcpgu_drm_connector *arcpgu_connector;
> -	struct drm_encoder_slave *encoder;
> +	struct drm_encoder *encoder;
>  	struct drm_connector *connector;
>  	int ret;
>  
> @@ -76,10 +74,10 @@ int arcpgu_drm_sim_init(struct drm_device *drm, struct device_node *np)
>  	if (encoder == NULL)
>  		return -ENOMEM;
>  
> -	encoder->base.possible_crtcs = 1;
> -	encoder->base.possible_clones = 0;
> +	encoder->possible_crtcs = 1;
> +	encoder->possible_clones = 0;
>  
> -	ret = drm_encoder_init(drm, &encoder->base, &arcpgu_drm_encoder_funcs,
> +	ret = drm_encoder_init(drm, encoder, &arcpgu_drm_encoder_funcs,
>  			       DRM_MODE_ENCODER_VIRTUAL, NULL);
>  	if (ret)
>  		return ret;
> @@ -101,21 +99,19 @@ int arcpgu_drm_sim_init(struct drm_device *drm, struct device_node *np)
>  		goto error_encoder_cleanup;
>  	}
>  
> -	ret = drm_mode_connector_attach_encoder(connector, &encoder->base);
> +	ret = drm_mode_connector_attach_encoder(connector, encoder);
>  	if (ret < 0) {
>  		dev_err(drm->dev, "could not attach connector to encoder\n");
>  		drm_connector_unregister(connector);
>  		goto error_connector_cleanup;
>  	}
>  
> -	arcpgu_connector->encoder_slave = encoder;
> -
>  	return 0;
>  
>  error_connector_cleanup:
>  	drm_connector_cleanup(connector);
>  
>  error_encoder_cleanup:
> -	drm_encoder_cleanup(&encoder->base);
> +	drm_encoder_cleanup(encoder);
>  	return ret;
>  }
> -- 
> 2.15.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2018-01-30  9:15 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-17 13:43 [PATCH] drm/arcpgu: remove drm_encoder_slave Daniel Vetter
2018-01-17 13:53 ` Daniel Vetter
2018-01-17 14:02   ` Laurent Pinchart
2018-01-17 13:55 ` Alexey Brodkin
2018-01-17 14:03   ` Daniel Vetter
2018-01-17 14:17 ` Daniel Vetter
2018-01-30  9:15   ` Daniel Vetter [this message]
2018-01-30 16:44     ` Alexey Brodkin
2018-01-30 17:07       ` Daniel Vetter
2018-01-30 19:06         ` Alexey Brodkin
2018-01-20  1:59 ` kbuild test robot
2018-01-20  4:17 ` kbuild test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180130091554.GC25930@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=abrodkin@synopsys.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=laurent.pinchart@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.