vkms_device
struct vkms_device *vkmsdev = drm_device_to_vkms_device(dev);
void vkms_config_register_debugfs(struct vkms_device *vkms_device)
drm_debugfs_add_files(&vkms_device->drm, vkms_config_debugfs_list,
void vkms_config_register_debugfs(struct vkms_device *vkms_device);
struct vkms_device *dev;
struct vkms_device *vkmsdev = drm_device_to_vkms_device(dev);
struct vkms_connector *vkms_connector_init(struct vkms_device *vkmsdev)
void vkms_trigger_connector_hotplug(struct vkms_device *vkmsdev)
struct vkms_connector *vkms_connector_init(struct vkms_device *vkmsdev);
void vkms_trigger_connector_hotplug(struct vkms_device *vkmsdev);
static int vkms_modeset_init(struct vkms_device *vkmsdev)
struct vkms_device *vkms_device;
vkms_device = devm_drm_dev_alloc(&fdev->dev, &vkms_driver,
struct vkms_device, drm);
if (IS_ERR(vkms_device)) {
ret = PTR_ERR(vkms_device);
vkms_device->faux_dev = fdev;
vkms_device->config = config;
config->dev = vkms_device;
ret = dma_coerce_mask_and_coherent(vkms_device->drm.dev,
ret = drm_vblank_init(&vkms_device->drm,
ret = vkms_modeset_init(vkms_device);
vkms_config_register_debugfs(vkms_device);
ret = drm_dev_register(&vkms_device->drm, 0);
drm_client_setup(&vkms_device->drm, NULL);
container_of(target, struct vkms_device, drm)
int vkms_output_init(struct vkms_device *vkmsdev);
struct vkms_plane *vkms_plane_init(struct vkms_device *vkmsdev,
int vkms_enable_writeback_connector(struct vkms_device *vkmsdev, struct vkms_output *vkms_out);
int vkms_output_init(struct vkms_device *vkmsdev)
struct vkms_plane *vkms_plane_init(struct vkms_device *vkmsdev,
int vkms_enable_writeback_connector(struct vkms_device *vkmsdev,