Since the default number 256 can't handle large modern systems with large numbers of GPUs, specify a more reasonable default. -v2: update drm_core_exit to unregister more drm device nodes Signed-off-by: James Zhu <James.Zhu@xxxxxxx> --- drivers/gpu/drm/drm_drv.c | 4 ++-- include/drm/drm_drv.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 243cacb3575c..bfc6c18a7a92 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -1063,7 +1063,7 @@ static void drm_core_exit(void) { drm_privacy_screen_lookup_exit(); accel_core_exit(); - unregister_chrdev(DRM_MAJOR, "drm"); + __unregister_chrdev(DRM_MAJOR, 0, DRM_CHRDEV_MAX, "drm"); debugfs_remove(drm_debugfs_root); drm_sysfs_destroy(); idr_destroy(&drm_minors_idr); @@ -1086,7 +1086,7 @@ static int __init drm_core_init(void) drm_debugfs_root = debugfs_create_dir("dri", NULL); - ret = register_chrdev(DRM_MAJOR, "drm", &drm_stub_fops); + ret = __register_chrdev(DRM_MAJOR, 0, DRM_CHRDEV_MAX, "drm", &drm_stub_fops); if (ret < 0) goto error; diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index 8878260d7529..8a2da92f02b7 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -45,6 +45,8 @@ struct drm_mode_create_dumb; struct drm_printer; struct sg_table; +#define DRM_CHRDEV_MAX 1024 + /** * enum drm_driver_feature - feature flags * -- 2.34.1