All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Rob Clark <robdclark@gmail.com>
Cc: dri-devel@lists.freedesktop.org, patches@linaro.org
Subject: Re: [PATCH 3/4] drm: i2c encoder helper wrappers
Date: Thu, 24 Jan 2013 15:42:22 +0100	[thread overview]
Message-ID: <20130124144222.GD31306@phenom.ffwll.local> (raw)
In-Reply-To: <1357704526-3447-4-git-send-email-robdclark@gmail.com>

On Tue, Jan 08, 2013 at 10:08:45PM -0600, Rob Clark wrote:
> Simplify life for drivers using an encoder-slave, so that they can make
> their drm_encoder_helper_funcs const, rather than needing to dynamically
> allocate and populate them.
> 
> Signed-off-by: Rob Clark <robdclark@gmail.com>

Ah, here they are - looked for them but didn't find them.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

I guess if we keep on adding things to the encoder slave code (and more
users) we should start thinking about some kerneldoc ...
-Daniel

> ---
>  drivers/gpu/drm/drm_encoder_slave.c | 63 +++++++++++++++++++++++++++++++++++++
>  include/drm/drm_encoder_slave.h     | 20 ++++++++++++
>  2 files changed, 83 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_encoder_slave.c b/drivers/gpu/drm/drm_encoder_slave.c
> index 63e7334..48c52f7 100644
> --- a/drivers/gpu/drm/drm_encoder_slave.c
> +++ b/drivers/gpu/drm/drm_encoder_slave.c
> @@ -123,3 +123,66 @@ void drm_i2c_encoder_destroy(struct drm_encoder *drm_encoder)
>  	module_put(module);
>  }
>  EXPORT_SYMBOL(drm_i2c_encoder_destroy);
> +
> +/*
> + * Wrapper fxns which can be plugged in to drm_encoder_helper_funcs:
> + */
> +
> +static inline struct drm_encoder_slave_funcs *
> +get_slave_funcs(struct drm_encoder *enc)
> +{
> +	return to_encoder_slave(enc)->slave_funcs;
> +}
> +
> +void drm_i2c_encoder_dpms(struct drm_encoder *encoder, int mode)
> +{
> +	get_slave_funcs(encoder)->dpms(encoder, mode);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_dpms);
> +
> +bool drm_i2c_encoder_mode_fixup(struct drm_encoder *encoder,
> +		const struct drm_display_mode *mode,
> +		struct drm_display_mode *adjusted_mode)
> +{
> +	return get_slave_funcs(encoder)->mode_fixup(encoder, mode, adjusted_mode);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_mode_fixup);
> +
> +void drm_i2c_encoder_prepare(struct drm_encoder *encoder)
> +{
> +	drm_i2c_encoder_dpms(encoder, DRM_MODE_DPMS_OFF);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_prepare);
> +
> +void drm_i2c_encoder_commit(struct drm_encoder *encoder)
> +{
> +	drm_i2c_encoder_dpms(encoder, DRM_MODE_DPMS_ON);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_commit);
> +
> +void drm_i2c_encoder_mode_set(struct drm_encoder *encoder,
> +		struct drm_display_mode *mode,
> +		struct drm_display_mode *adjusted_mode)
> +{
> +	get_slave_funcs(encoder)->mode_set(encoder, mode, adjusted_mode);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_mode_set);
> +
> +enum drm_connector_status drm_i2c_encoder_detect(struct drm_encoder *encoder,
> +	    struct drm_connector *connector)
> +{
> +	return get_slave_funcs(encoder)->detect(encoder, connector);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_detect);
> +
> +void drm_i2c_encoder_save(struct drm_encoder *encoder)
> +{
> +	get_slave_funcs(encoder)->save(encoder);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_save);
> +
> +void drm_i2c_encoder_restore(struct drm_encoder *encoder)
> +{
> +	get_slave_funcs(encoder)->restore(encoder);
> +}
> +EXPORT_SYMBOL(drm_i2c_encoder_restore);
> diff --git a/include/drm/drm_encoder_slave.h b/include/drm/drm_encoder_slave.h
> index b0c11a7..8b9cc36 100644
> --- a/include/drm/drm_encoder_slave.h
> +++ b/include/drm/drm_encoder_slave.h
> @@ -159,4 +159,24 @@ static inline void drm_i2c_encoder_unregister(struct drm_i2c_encoder_driver *dri
>  
>  void drm_i2c_encoder_destroy(struct drm_encoder *encoder);
>  
> +
> +/*
> + * Wrapper fxns which can be plugged in to drm_encoder_helper_funcs:
> + */
> +
> +void drm_i2c_encoder_dpms(struct drm_encoder *encoder, int mode);
> +bool drm_i2c_encoder_mode_fixup(struct drm_encoder *encoder,
> +		const struct drm_display_mode *mode,
> +		struct drm_display_mode *adjusted_mode);
> +void drm_i2c_encoder_prepare(struct drm_encoder *encoder);
> +void drm_i2c_encoder_commit(struct drm_encoder *encoder);
> +void drm_i2c_encoder_mode_set(struct drm_encoder *encoder,
> +		struct drm_display_mode *mode,
> +		struct drm_display_mode *adjusted_mode);
> +enum drm_connector_status drm_i2c_encoder_detect(struct drm_encoder *encoder,
> +	    struct drm_connector *connector);
> +void drm_i2c_encoder_save(struct drm_encoder *encoder);
> +void drm_i2c_encoder_restore(struct drm_encoder *encoder);
> +
> +
>  #endif
> -- 
> 1.8.0.2
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

  reply	other threads:[~2013-01-24 14:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-09  4:08 [PATCH 0/4] some misc drm patches Rob Clark
2013-01-09  4:08 ` [PATCH 1/4] drm: small fix in drm_send_vblank_event() Rob Clark
2013-01-09 14:19   ` Alex Deucher
2013-01-09  4:08 ` [PATCH 2/4] drm/cma: add debugfs helpers Rob Clark
2013-01-11 21:56   ` Daniel Vetter
2013-01-09  4:08 ` [PATCH 3/4] drm: i2c encoder helper wrappers Rob Clark
2013-01-24 14:42   ` Daniel Vetter [this message]
2013-01-24 15:02     ` Rob Clark
2013-01-09  4:08 ` [PATCH 4/4] drm/nouveau: use " Rob Clark
2013-01-24 14:46   ` Daniel Vetter

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=20130124144222.GD31306@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=patches@linaro.org \
    --cc=robdclark@gmail.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.