mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm: move drm based debugfs funcs to drm_debugfs.c
Requirement is to create per client-id based directories to hold key debugging information and for that access to root debugfs dentry is need which is not in one place and that information cannot be stored in drm_device. Move the debugfs functionality from drm_drv.c and drm_accel.c to drm_debugfs.c This enables debugfs root node reference directly drm_debugfs.c and hence enable to create per client-id directory. v8: Create drm_accel dentry only if it's config is enabled (Jeff, Hugo) v8: Merge drm_drv and drm_accel debugfs patches (Koenig, Christian) v10: Since we moved drm_debugfs_root, hence to handle drm bridge debugfs add a new function which call drm_bridge_debugfs_params where drm_debugfs_root is accessible. Suggested-by: Christian König <christian.koenig@amd.com> Signed-off-by: Sunil Khatri <sunil.khatri@amd.com> Link: https://lore.kernel.org/r/20250704075548.1549849-2-sunil.khatri@amd.com Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
committed by
Christian König
parent
9cbc40521b
commit
348fe34a61
@@ -72,8 +72,6 @@ DEFINE_XARRAY_ALLOC(drm_minors_xa);
|
||||
*/
|
||||
static bool drm_core_init_complete;
|
||||
|
||||
static struct dentry *drm_debugfs_root;
|
||||
|
||||
DEFINE_STATIC_SRCU(drm_unplug_srcu);
|
||||
|
||||
/*
|
||||
@@ -186,8 +184,7 @@ static int drm_minor_register(struct drm_device *dev, enum drm_minor_type type)
|
||||
return 0;
|
||||
|
||||
if (minor->type != DRM_MINOR_ACCEL) {
|
||||
ret = drm_debugfs_register(minor, minor->index,
|
||||
drm_debugfs_root);
|
||||
ret = drm_debugfs_register(minor, minor->index);
|
||||
if (ret) {
|
||||
DRM_ERROR("DRM: Failed to initialize /sys/kernel/debug/dri.\n");
|
||||
goto err_debugfs;
|
||||
@@ -787,10 +784,7 @@ static int drm_dev_init(struct drm_device *dev,
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (drm_core_check_feature(dev, DRIVER_COMPUTE_ACCEL))
|
||||
accel_debugfs_init(dev);
|
||||
else
|
||||
drm_debugfs_dev_init(dev, drm_debugfs_root);
|
||||
drm_debugfs_dev_init(dev);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -1230,7 +1224,7 @@ static void drm_core_exit(void)
|
||||
drm_panic_exit();
|
||||
accel_core_exit();
|
||||
unregister_chrdev(DRM_MAJOR, "drm");
|
||||
debugfs_remove(drm_debugfs_root);
|
||||
drm_debugfs_remove_root();
|
||||
drm_sysfs_destroy();
|
||||
WARN_ON(!xa_empty(&drm_minors_xa));
|
||||
drm_connector_ida_destroy();
|
||||
@@ -1249,8 +1243,8 @@ static int __init drm_core_init(void)
|
||||
goto error;
|
||||
}
|
||||
|
||||
drm_debugfs_root = debugfs_create_dir("dri", NULL);
|
||||
drm_bridge_debugfs_params(drm_debugfs_root);
|
||||
drm_debugfs_init_root();
|
||||
drm_debugfs_bridge_params();
|
||||
|
||||
ret = register_chrdev(DRM_MAJOR, "drm", &drm_stub_fops);
|
||||
if (ret < 0)
|
||||
|
||||
Reference in New Issue
Block a user