[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YFqi8v49Gckca7CO@pendragon.ideasonboard.com>
Date: Wed, 24 Mar 2021 04:24:50 +0200
From: Laurent Pinchart <laurent.pinchart@...asonboard.com>
To: Paul Cercueil <paul@...pouillou.net>
Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
linux-mips@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, od@...c.me,
Sam Ravnborg <sam@...nborg.org>
Subject: Re: [PATCH v3 2/4] drm/simple_kms_helper: Add macro
drmm_plain_simple_encoder_alloc()
Hi Paul,
Thank you for the patch.
On Sun, Jan 24, 2021 at 08:55:50AM +0000, Paul Cercueil wrote:
> This performs the same operation as drmm_simple_encoder_alloc(), but
> only allocates and returns a struct drm_encoder instance.
>
> Signed-off-by: Paul Cercueil <paul@...pouillou.net>
> ---
> include/drm/drm_simple_kms_helper.h | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/include/drm/drm_simple_kms_helper.h b/include/drm/drm_simple_kms_helper.h
> index e6dbf3161c2f..f07e70303cfb 100644
> --- a/include/drm/drm_simple_kms_helper.h
> +++ b/include/drm/drm_simple_kms_helper.h
> @@ -209,4 +209,21 @@ void *__drmm_simple_encoder_alloc(struct drm_device *dev, size_t size,
> offsetof(type, member), \
> encoder_type))
>
> +/**
> + * drmm_plain_simple_encoder_alloc - Allocate and initialize a drm_encoder
> + * struct with basic functionality.
> + * @dev: drm device
> + * @encoder_type: user visible type of the encoder
> + *
> + * This performs the same operation as drmm_simple_encoder_alloc(), but
> + * only allocates and returns a struct drm_encoder instance.
> + *
> + * Returns:
> + * Pointer to the new drm_encoder struct, or ERR_PTR on failure.
> + */
> +#define drmm_plain_simple_encoder_alloc(dev, encoder_type) \
> + ((struct drm_encoder *) \
> + __drmm_simple_encoder_alloc(dev, sizeof(struct drm_encoder), \
> + 0, encoder_type))
> +
As this isn't related to the simple encoder helper anymore, how about
using __drmm_encoder_alloc instead ?
#define drmm_plain_simple_encoder_alloc(dev, encoder_type) \
((struct drm_encoder *) \
__drmm_encoder_alloc(dev, sizeof(struct drm_encoder), 0, NULL, \
encoder_type, NULL))
I'd also rename the macro to drmm_plain_encoder_alloc(), and move it to
drm_encoder.h. That way drivers that don't need the simple KMS helper
won't have to select it just for this.
> #endif /* __LINUX_DRM_SIMPLE_KMS_HELPER_H */
--
Regards,
Laurent Pinchart
Powered by blists - more mailing lists