[PATCH v7 1/5] drm: move the debugfs accel driver code to drm layer
Christian König
christian.koenig at amd.com
Mon Jun 30 18:34:39 UTC 2025
On 30.06.25 16:36, Sunil Khatri wrote:
> Move the debugfs accel driver code to the drm layer
> and it is an intermediate step to move all debugfs
> related handling into drm_debugfs.c
>
> Signed-off-by: Sunil Khatri <sunil.khatri at amd.com>
> Reviewed-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/accel/drm_accel.c | 16 ----------------
> drivers/gpu/drm/drm_drv.c | 6 +++++-
> include/drm/drm_accel.h | 5 -----
> 3 files changed, 5 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/accel/drm_accel.c b/drivers/accel/drm_accel.c
> index aa826033b0ce..ca3357acd127 100644
> --- a/drivers/accel/drm_accel.c
> +++ b/drivers/accel/drm_accel.c
> @@ -20,8 +20,6 @@
>
> DEFINE_XARRAY_ALLOC(accel_minors_xa);
>
> -static struct dentry *accel_debugfs_root;
> -
> static const struct device_type accel_sysfs_device_minor = {
> .name = "accel_minor"
> };
> @@ -73,17 +71,6 @@ static const struct drm_info_list accel_debugfs_list[] = {
> };
> #define ACCEL_DEBUGFS_ENTRIES ARRAY_SIZE(accel_debugfs_list)
>
> -/**
> - * accel_debugfs_init() - Initialize debugfs for device
> - * @dev: Pointer to the device instance.
> - *
> - * This function creates a root directory for the device in debugfs.
> - */
> -void accel_debugfs_init(struct drm_device *dev)
> -{
> - drm_debugfs_dev_init(dev, accel_debugfs_root);
> -}
> -
As pointed out by somebody on the mailing list this doesn't remove the accel_debugfs_init() dummy which is used when CONFIG_DRM_ACCEL isn't enabled.
> /**
> * accel_debugfs_register() - Register debugfs for device
> * @dev: Pointer to the device instance.
> @@ -194,7 +181,6 @@ static const struct file_operations accel_stub_fops = {
> void accel_core_exit(void)
> {
> unregister_chrdev(ACCEL_MAJOR, "accel");
> - debugfs_remove(accel_debugfs_root);
> accel_sysfs_destroy();
> WARN_ON(!xa_empty(&accel_minors_xa));
> }
> @@ -209,8 +195,6 @@ int __init accel_core_init(void)
> goto error;
> }
>
> - accel_debugfs_root = debugfs_create_dir("accel", NULL);
> -
> ret = register_chrdev(ACCEL_MAJOR, "accel", &accel_stub_fops);
> if (ret < 0)
> DRM_ERROR("Cannot register ACCEL major: %d\n", ret);
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 17fc5dc708f4..5d57b622f9aa 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -70,6 +70,7 @@ DEFINE_XARRAY_ALLOC(drm_minors_xa);
> static bool drm_core_init_complete;
>
> static struct dentry *drm_debugfs_root;
> +static struct dentry *accel_debugfs_root;
>
> DEFINE_STATIC_SRCU(drm_unplug_srcu);
>
> @@ -752,7 +753,7 @@ static int drm_dev_init(struct drm_device *dev,
> }
>
> if (drm_core_check_feature(dev, DRIVER_COMPUTE_ACCEL))
> - accel_debugfs_init(dev);
> + drm_debugfs_dev_init(dev, accel_debugfs_root);
> else
> drm_debugfs_dev_init(dev, drm_debugfs_root);
>
> @@ -1166,6 +1167,7 @@ static void drm_core_exit(void)
> {
> drm_privacy_screen_lookup_exit();
> drm_panic_exit();
> + debugfs_remove(accel_debugfs_root);
> accel_core_exit();
> unregister_chrdev(DRM_MAJOR, "drm");
> debugfs_remove(drm_debugfs_root);
> @@ -1193,6 +1195,8 @@ static int __init drm_core_init(void)
> if (ret < 0)
> goto error;
>
> + accel_debugfs_root = debugfs_create_dir("accel", NULL);
> +
We should potentially make that depend on CONFIG_DRM_ACCEL.
Probably best to merge the first and second patch, this also avoids the question why we have the first patch.
Regards,
Christian.
> ret = accel_core_init();
> if (ret < 0)
> goto error;
> diff --git a/include/drm/drm_accel.h b/include/drm/drm_accel.h
> index 038ccb02f9a3..20a665ec6f16 100644
> --- a/include/drm/drm_accel.h
> +++ b/include/drm/drm_accel.h
> @@ -58,7 +58,6 @@ void accel_core_exit(void);
> int accel_core_init(void);
> void accel_set_device_instance_params(struct device *kdev, int index);
> int accel_open(struct inode *inode, struct file *filp);
> -void accel_debugfs_init(struct drm_device *dev);
> void accel_debugfs_register(struct drm_device *dev);
>
> #else
> @@ -77,10 +76,6 @@ static inline void accel_set_device_instance_params(struct device *kdev, int ind
> {
> }
>
> -static inline void accel_debugfs_init(struct drm_device *dev)
> -{
> -}
> -
> static inline void accel_debugfs_register(struct drm_device *dev)
> {
> }
More information about the dri-devel
mailing list