diff options
Diffstat (limited to 'include/drm/drm_encoder_slave.h')
-rw-r--r-- | include/drm/drm_encoder_slave.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/drm/drm_encoder_slave.h b/include/drm/drm_encoder_slave.h index a09864f6d684..4059e4486f84 100644 --- a/include/drm/drm_encoder_slave.h +++ b/include/drm/drm_encoder_slave.h @@ -27,6 +27,7 @@ #ifndef __DRM_ENCODER_SLAVE_H__ #define __DRM_ENCODER_SLAVE_H__ +#include <drm/drmP.h> #include <drm/drm_crtc.h> #include <drm/drm_encoder.h> @@ -159,6 +160,29 @@ static inline void drm_i2c_encoder_unregister(struct drm_i2c_encoder_driver *dri void drm_i2c_encoder_destroy(struct drm_encoder *encoder); +/** + * struct drm_platform_encoder_driver + * @platform_driver: platform device driver + * @encoder_init: callback to initialize the slave encoder + * + * Describes a device driver for an encoder connected to + * through a platform bus. In addition to the entry points in @platform_driver + * an @encoder_init function should be provided. It will be called to + * give the driver an opportunity to allocate any per-encoder data + * structures and to initialize the @slave_funcs and (optionally) + * @slave_priv members of @encoder. + */ +struct drm_platform_encoder_driver { + struct platform_driver platform_driver; + + int (*encoder_init)(struct platform_device *pdev, + struct drm_device *dev, + struct drm_encoder_slave *encoder); + +}; +#define to_drm_platform_encoder_driver(x) container_of((x), \ + struct drm_platform_encoder_driver, \ + platform_driver) /* * Wrapper fxns which can be plugged in to drm_encoder_helper_funcs: |