Almost all drivers, and our documented skeleton, call drm_mode_config_reset() prior to calling drm_dev_register() to initialize its DRM object states.
Now that we have drm_mode_config_create_state() to create that initial state if it doesn't exist, we can call it directly in drm_dev_register(). That way, we know that the initial atomic state will always be allocated without any boilerplate. Signed-off-by: Maxime Ripard <[email protected]> --- drivers/gpu/drm/drm_drv.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 2915118436ce8a6640cfb0c59936031990727ed1..820106d56ab399a39cac56d98662b5ddbcae8ded 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -1097,10 +1097,14 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags) if (drm_core_check_feature(dev, DRIVER_MODESET)) { ret = drm_modeset_register_all(dev); if (ret) goto err_unload; + + ret = drm_mode_config_create_state(dev); + if (ret) + goto err_unload; } drm_panic_register(dev); drm_client_sysrq_register(dev); DRM_INFO("Initialized %s %d.%d.%d for %s on minor %d\n", -- 2.53.0
