diff options
Diffstat (limited to 'drivers/gpu/drm/drm_drv.c')
| -rw-r--r-- | drivers/gpu/drm/drm_drv.c | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 7a5097467ba5..8214a0b1ab7f 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -43,6 +43,7 @@  #include <drm/drm_managed.h>  #include <drm/drm_mode_object.h>  #include <drm/drm_print.h> +#include <drm/drm_privacy_screen_machine.h>  #include "drm_crtc_internal.h"  #include "drm_internal.h" @@ -581,6 +582,7 @@ static int drm_dev_init(struct drm_device *dev,  			const struct drm_driver *driver,  			struct device *parent)  { +	struct inode *inode;  	int ret;  	if (!drm_core_init_complete) { @@ -617,13 +619,15 @@ static int drm_dev_init(struct drm_device *dev,  	if (ret)  		return ret; -	dev->anon_inode = drm_fs_inode_new(); -	if (IS_ERR(dev->anon_inode)) { -		ret = PTR_ERR(dev->anon_inode); +	inode = drm_fs_inode_new(); +	if (IS_ERR(inode)) { +		ret = PTR_ERR(inode);  		DRM_ERROR("Cannot allocate anonymous inode: %d\n", ret);  		goto err;  	} +	dev->anon_inode = inode; +  	if (drm_core_check_feature(dev, DRIVER_RENDER)) {  		ret = drm_minor_alloc(dev, DRM_MINOR_RENDER);  		if (ret) @@ -1029,6 +1033,7 @@ static const struct file_operations drm_stub_fops = {  static void drm_core_exit(void)  { +	drm_privacy_screen_lookup_exit();  	unregister_chrdev(DRM_MAJOR, "drm");  	debugfs_remove(drm_debugfs_root);  	drm_sysfs_destroy(); @@ -1056,6 +1061,8 @@ static int __init drm_core_init(void)  	if (ret < 0)  		goto error; +	drm_privacy_screen_lookup_init(); +  	drm_core_init_complete = true;  	DRM_DEBUG("Initialized\n"); |