* Protect access to I/O registers from concurrent modesetting
         * by acquiring the I/O-register lock.
         */
-       mutex_lock(&ast->ioregs_lock);
+       mutex_lock(&ast->modeset_lock);
 
        edid = drm_get_edid(connector, &ast_vga_connector->i2c->adapter);
        if (!edid)
                goto err_mutex_unlock;
 
-       mutex_unlock(&ast->ioregs_lock);
+       mutex_unlock(&ast->modeset_lock);
 
        count = drm_add_edid_modes(connector, edid);
        kfree(edid);
        return count;
 
 err_mutex_unlock:
-       mutex_unlock(&ast->ioregs_lock);
+       mutex_unlock(&ast->modeset_lock);
 err_drm_connector_update_edid_property:
        drm_connector_update_edid_property(connector, NULL);
        return 0;
         * Protect access to I/O registers from concurrent modesetting
         * by acquiring the I/O-register lock.
         */
-       mutex_lock(&ast->ioregs_lock);
+       mutex_lock(&ast->modeset_lock);
 
        edid = drm_get_edid(connector, &ast_sil164_connector->i2c->adapter);
        if (!edid)
                goto err_mutex_unlock;
 
-       mutex_unlock(&ast->ioregs_lock);
+       mutex_unlock(&ast->modeset_lock);
 
        count = drm_add_edid_modes(connector, edid);
        kfree(edid);
        return count;
 
 err_mutex_unlock:
-       mutex_unlock(&ast->ioregs_lock);
+       mutex_unlock(&ast->modeset_lock);
 err_drm_connector_update_edid_property:
        drm_connector_update_edid_property(connector, NULL);
        return 0;
         * Protect access to I/O registers from concurrent modesetting
         * by acquiring the I/O-register lock.
         */
-       mutex_lock(&ast->ioregs_lock);
+       mutex_lock(&ast->modeset_lock);
 
        succ = ast_astdp_read_edid(connector->dev, edid);
        if (succ < 0)
                goto err_mutex_unlock;
 
-       mutex_unlock(&ast->ioregs_lock);
+       mutex_unlock(&ast->modeset_lock);
 
        drm_connector_update_edid_property(connector, edid);
        count = drm_add_edid_modes(connector, edid);
        return count;
 
 err_mutex_unlock:
-       mutex_unlock(&ast->ioregs_lock);
+       mutex_unlock(&ast->modeset_lock);
        kfree(edid);
 err_drm_connector_update_edid_property:
        drm_connector_update_edid_property(connector, NULL);
         * display modes. Protect access to I/O registers by acquiring
         * the I/O-register lock. Released in atomic_flush().
         */
-       mutex_lock(&ast->ioregs_lock);
+       mutex_lock(&ast->modeset_lock);
        drm_atomic_helper_commit_tail_rpm(state);
-       mutex_unlock(&ast->ioregs_lock);
+       mutex_unlock(&ast->modeset_lock);
 }
 
 static const struct drm_mode_config_helper_funcs ast_mode_config_helper_funcs = {
        struct drm_connector *physical_connector = NULL;
        int ret;
 
+       ret = drmm_mutex_init(dev, &ast->modeset_lock);
+       if (ret)
+               return ret;
+
        ret = drmm_mode_config_init(dev);
        if (ret)
                return ret;