@@ -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))
+
#endif /* __LINUX_DRM_SIMPLE_KMS_HELPER_H */
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@crapouillou.net> --- include/drm/drm_simple_kms_helper.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)