@@ -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;