|
@@ -5914,6 +5914,15 @@ void drm_mode_config_cleanup(struct drm_device *dev)
|
|
|
drm_property_destroy(dev, property);
|
|
|
}
|
|
|
|
|
|
+ list_for_each_entry_safe(plane, plt, &dev->mode_config.plane_list,
|
|
|
+ head) {
|
|
|
+ plane->funcs->destroy(plane);
|
|
|
+ }
|
|
|
+
|
|
|
+ list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) {
|
|
|
+ crtc->funcs->destroy(crtc);
|
|
|
+ }
|
|
|
+
|
|
|
list_for_each_entry_safe(blob, bt, &dev->mode_config.property_blob_list,
|
|
|
head_global) {
|
|
|
drm_property_unreference_blob(blob);
|
|
@@ -5932,15 +5941,6 @@ void drm_mode_config_cleanup(struct drm_device *dev)
|
|
|
drm_framebuffer_free(&fb->refcount);
|
|
|
}
|
|
|
|
|
|
- list_for_each_entry_safe(plane, plt, &dev->mode_config.plane_list,
|
|
|
- head) {
|
|
|
- plane->funcs->destroy(plane);
|
|
|
- }
|
|
|
-
|
|
|
- list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) {
|
|
|
- crtc->funcs->destroy(crtc);
|
|
|
- }
|
|
|
-
|
|
|
ida_destroy(&dev->mode_config.connector_ida);
|
|
|
idr_destroy(&dev->mode_config.tile_idr);
|
|
|
idr_destroy(&dev->mode_config.crtc_idr);
|