On Thu, Aug 29, 2024 at 05:37:30PM -0400, James Zhu wrote: > 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> We've merged a more complete solution meanwhile, I think this should also cover your case: https://lore.kernel.org/dri-devel/b313a6f7-a857-4ec9-bc98-0480cd64bc20@xxxxxxx/ Cheers, Sima > --- > 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 > -- Simona Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch