Unverified Commit a833c588 authored by José Expósito's avatar José Expósito Committed by Maxime Ripard
Browse files

drm/vkms: Create vkms_connector struct

parent 6fdbc115
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;
}
+10 −1
Original line number Diff line number Diff line
@@ -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_ */
+2 −2
Original line number Diff line number Diff line
@@ -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;