idr_replace(&drm_minors_idr, new_minor, minor_id);
-#if defined(CONFIG_DEBUG_FS)
ret = drm_debugfs_init(new_minor, minor_id, drm_debugfs_root);
if (ret) {
DRM_ERROR("DRM: Failed to initialize /sys/kernel/debug/dri.\n");
goto err_mem;
}
-#endif
ret = drm_sysfs_device_add(new_minor);
if (ret) {
err_debugfs:
-#if defined(CONFIG_DEBUG_FS)
drm_debugfs_cleanup(new_minor);
err_mem:
-#endif
idr_remove(&drm_minors_idr, minor_id);
return ret;
}
if (!minor || !minor->kdev)
return;
-#if defined(CONFIG_DEBUG_FS)
drm_debugfs_cleanup(minor);
-#endif
-
drm_sysfs_device_remove(minor);
idr_remove(&drm_minors_idr, minor->index);
}