mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
drm/vkms: Create vkms_connector struct
Create a structure wrapping the drm_connector. Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com> Signed-off-by: José Expósito <jose.exposito89@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250218101214.5790-3-jose.exposito89@gmail.com Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
parent
6fdbc11502
commit
a833c5880a
|
|
@ -29,22 +29,22 @@ static const struct drm_connector_helper_funcs vkms_conn_helper_funcs = {
|
|||
.get_modes = vkms_conn_get_modes,
|
||||
};
|
||||
|
||||
struct drm_connector *vkms_connector_init(struct vkms_device *vkmsdev)
|
||||
struct vkms_connector *vkms_connector_init(struct vkms_device *vkmsdev)
|
||||
{
|
||||
struct drm_device *dev = &vkmsdev->drm;
|
||||
struct drm_connector *connector;
|
||||
struct vkms_connector *connector;
|
||||
int ret;
|
||||
|
||||
connector = drmm_kzalloc(dev, sizeof(*connector), GFP_KERNEL);
|
||||
if (!connector)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
ret = drmm_connector_init(dev, connector, &vkms_connector_funcs,
|
||||
ret = drmm_connector_init(dev, &connector->base, &vkms_connector_funcs,
|
||||
DRM_MODE_CONNECTOR_VIRTUAL, NULL);
|
||||
if (ret)
|
||||
return ERR_PTR(ret);
|
||||
|
||||
drm_connector_helper_add(connector, &vkms_conn_helper_funcs);
|
||||
drm_connector_helper_add(&connector->base, &vkms_conn_helper_funcs);
|
||||
|
||||
return connector;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,15 @@
|
|||
|
||||
#include "vkms_drv.h"
|
||||
|
||||
/**
|
||||
* struct vkms_connector - VKMS custom type wrapping around the DRM connector
|
||||
*
|
||||
* @drm: Base DRM connector
|
||||
*/
|
||||
struct vkms_connector {
|
||||
struct drm_connector base;
|
||||
};
|
||||
|
||||
/**
|
||||
* vkms_connector_init() - Initialize a connector
|
||||
* @vkmsdev: VKMS device containing the connector
|
||||
|
|
@ -12,6 +21,6 @@
|
|||
* Returns:
|
||||
* The connector or an error on failure.
|
||||
*/
|
||||
struct drm_connector *vkms_connector_init(struct vkms_device *vkmsdev);
|
||||
struct vkms_connector *vkms_connector_init(struct vkms_device *vkmsdev);
|
||||
|
||||
#endif /* _VKMS_CONNECTOR_H_ */
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
int vkms_output_init(struct vkms_device *vkmsdev)
|
||||
{
|
||||
struct drm_device *dev = &vkmsdev->drm;
|
||||
struct drm_connector *connector;
|
||||
struct vkms_connector *connector;
|
||||
struct drm_encoder *encoder;
|
||||
struct vkms_output *output;
|
||||
struct vkms_plane *primary, *overlay, *cursor = NULL;
|
||||
|
|
@ -69,7 +69,7 @@ int vkms_output_init(struct vkms_device *vkmsdev)
|
|||
encoder->possible_crtcs = drm_crtc_mask(&output->crtc);
|
||||
|
||||
/* Attach the encoder and the connector */
|
||||
ret = drm_connector_attach_encoder(connector, encoder);
|
||||
ret = drm_connector_attach_encoder(&connector->base, encoder);
|
||||
if (ret) {
|
||||
DRM_ERROR("Failed to attach connector to encoder\n");
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user