Lines Matching refs:ddev
77 static int drv_load(struct drm_device *ddev) in drv_load() argument
79 struct platform_device *pdev = to_platform_device(ddev->dev); in drv_load()
85 ldev = devm_kzalloc(ddev->dev, sizeof(*ldev), GFP_KERNEL); in drv_load()
89 ddev->dev_private = (void *)ldev; in drv_load()
91 drm_mode_config_init(ddev); in drv_load()
98 ddev->mode_config.min_width = 0; in drv_load()
99 ddev->mode_config.min_height = 0; in drv_load()
100 ddev->mode_config.max_width = STM_MAX_FB_WIDTH; in drv_load()
101 ddev->mode_config.max_height = STM_MAX_FB_HEIGHT; in drv_load()
102 ddev->mode_config.funcs = &drv_mode_config_funcs; in drv_load()
104 ret = ltdc_load(ddev); in drv_load()
108 drm_mode_config_reset(ddev); in drv_load()
109 drm_kms_helper_poll_init(ddev); in drv_load()
111 if (ddev->mode_config.num_connector) { in drv_load()
112 ret = drm_fb_cma_fbdev_init(ddev, 16, 0); in drv_load()
117 platform_set_drvdata(pdev, ddev); in drv_load()
121 drm_mode_config_cleanup(ddev); in drv_load()
125 static void drv_unload(struct drm_device *ddev) in drv_unload() argument
129 drm_fb_cma_fbdev_fini(ddev); in drv_unload()
130 drm_kms_helper_poll_fini(ddev); in drv_unload()
131 ltdc_unload(ddev); in drv_unload()
132 drm_mode_config_cleanup(ddev); in drv_unload()
138 struct drm_device *ddev; in stm_drm_platform_probe() local
145 ddev = drm_dev_alloc(&drv_driver, dev); in stm_drm_platform_probe()
146 if (IS_ERR(ddev)) in stm_drm_platform_probe()
147 return PTR_ERR(ddev); in stm_drm_platform_probe()
149 ret = drv_load(ddev); in stm_drm_platform_probe()
153 ret = drm_dev_register(ddev, 0); in stm_drm_platform_probe()
160 drm_dev_put(ddev); in stm_drm_platform_probe()
167 struct drm_device *ddev = platform_get_drvdata(pdev); in stm_drm_platform_remove() local
171 drm_dev_unregister(ddev); in stm_drm_platform_remove()
172 drv_unload(ddev); in stm_drm_platform_remove()
173 drm_dev_put(ddev); in stm_drm_platform_remove()