drm: no need to check return value of debugfs_create functions
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Jun 2019 13:34:39 +0000 (15:34 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 13 Jun 2019 14:39:16 +0000 (16:39 +0200)
When calling debugfs functions, there is no need to ever check the
return value.  The function can work or not, but the code logic should
never do something different based on this.

Because there is no need to check these functions, a number of local
functions can be made to return void to simplify things as nothing can
fail.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Sean Paul <sean@poorly.run>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20190613133439.GA6715@kroah.com
drivers/gpu/drm/drm_connector.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_debugfs.c
drivers/gpu/drm/drm_debugfs_crc.c
drivers/gpu/drm/drm_drv.c
drivers/gpu/drm/drm_internal.h

index e17586aaa80fa805924169223334374231449f13..a598a5eb48d2123d93266f754b25c0569844a12d 100644 (file)
@@ -464,10 +464,7 @@ int drm_connector_register(struct drm_connector *connector)
        if (ret)
                goto unlock;
 
-       ret = drm_debugfs_connector_add(connector);
-       if (ret) {
-               goto err_sysfs;
-       }
+       drm_debugfs_connector_add(connector);
 
        if (connector->funcs->late_register) {
                ret = connector->funcs->late_register(connector);
@@ -482,7 +479,6 @@ int drm_connector_register(struct drm_connector *connector)
 
 err_debugfs:
        drm_debugfs_connector_remove(connector);
-err_sysfs:
        drm_sysfs_connector_remove(connector);
 unlock:
        mutex_unlock(&connector->mutex);
index 790ba59419540d0072c57e75658a087b1ba21c23..4936e1080e4171b8d05448b45b698c4bff123f0e 100644 (file)
@@ -122,9 +122,7 @@ int drm_crtc_register_all(struct drm_device *dev)
        int ret = 0;
 
        drm_for_each_crtc(crtc, dev) {
-               if (drm_debugfs_crtc_add(crtc))
-                       DRM_ERROR("Failed to initialize debugfs entry for CRTC '%s'.\n",
-                                 crtc->name);
+               drm_debugfs_crtc_add(crtc);
 
                if (crtc->funcs->late_register)
                        ret = crtc->funcs->late_register(crtc);
index 4b8e817d7420e9091c02677443559bd659ffdc7e..63b9951bb8f3852cae7858d28849484d8579d504 100644 (file)
@@ -229,10 +229,6 @@ int drm_debugfs_init(struct drm_minor *minor, int minor_id,
        mutex_init(&minor->debugfs_lock);
        sprintf(name, "%d", minor_id);
        minor->debugfs_root = debugfs_create_dir(name, root);
-       if (!minor->debugfs_root) {
-               DRM_ERROR("Cannot create /sys/kernel/debug/dri/%s\n", name);
-               return -1;
-       }
 
        ret = drm_debugfs_create_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES,
                                       minor->debugfs_root, minor);
@@ -313,17 +309,15 @@ static void drm_debugfs_remove_all_files(struct drm_minor *minor)
        mutex_unlock(&minor->debugfs_lock);
 }
 
-int drm_debugfs_cleanup(struct drm_minor *minor)
+void drm_debugfs_cleanup(struct drm_minor *minor)
 {
        if (!minor->debugfs_root)
-               return 0;
+               return;
 
        drm_debugfs_remove_all_files(minor);
 
        debugfs_remove_recursive(minor->debugfs_root);
        minor->debugfs_root = NULL;
-
-       return 0;
 }
 
 static int connector_show(struct seq_file *m, void *data)
@@ -441,38 +435,24 @@ static const struct file_operations drm_connector_fops = {
        .write = connector_write
 };
 
-int drm_debugfs_connector_add(struct drm_connector *connector)
+void drm_debugfs_connector_add(struct drm_connector *connector)
 {
        struct drm_minor *minor = connector->dev->primary;
-       struct dentry *root, *ent;
+       struct dentry *root;
 
        if (!minor->debugfs_root)
-               return -1;
+               return;
 
        root = debugfs_create_dir(connector->name, minor->debugfs_root);
-       if (!root)
-               return -ENOMEM;
-
        connector->debugfs_entry = root;
 
        /* force */
-       ent = debugfs_create_file("force", S_IRUGO | S_IWUSR, root, connector,
-                                 &drm_connector_fops);
-       if (!ent)
-               goto error;
+       debugfs_create_file("force", S_IRUGO | S_IWUSR, root, connector,
+                           &drm_connector_fops);
 
        /* edid */
-       ent = debugfs_create_file("edid_override", S_IRUGO | S_IWUSR, root,
-                                 connector, &drm_edid_fops);
-       if (!ent)
-               goto error;
-
-       return 0;
-
-error:
-       debugfs_remove_recursive(connector->debugfs_entry);
-       connector->debugfs_entry = NULL;
-       return -ENOMEM;
+       debugfs_create_file("edid_override", S_IRUGO | S_IWUSR, root, connector,
+                           &drm_edid_fops);
 }
 
 void drm_debugfs_connector_remove(struct drm_connector *connector)
@@ -485,7 +465,7 @@ void drm_debugfs_connector_remove(struct drm_connector *connector)
        connector->debugfs_entry = NULL;
 }
 
-int drm_debugfs_crtc_add(struct drm_crtc *crtc)
+void drm_debugfs_crtc_add(struct drm_crtc *crtc)
 {
        struct drm_minor *minor = crtc->dev->primary;
        struct dentry *root;
@@ -493,23 +473,14 @@ int drm_debugfs_crtc_add(struct drm_crtc *crtc)
 
        name = kasprintf(GFP_KERNEL, "crtc-%d", crtc->index);
        if (!name)
-               return -ENOMEM;
+               return;
 
        root = debugfs_create_dir(name, minor->debugfs_root);
        kfree(name);
-       if (!root)
-               return -ENOMEM;
 
        crtc->debugfs_entry = root;
 
-       if (drm_debugfs_crtc_crc_add(crtc))
-               goto error;
-
-       return 0;
-
-error:
-       drm_debugfs_crtc_remove(crtc);
-       return -ENOMEM;
+       drm_debugfs_crtc_crc_add(crtc);
 }
 
 void drm_debugfs_crtc_remove(struct drm_crtc *crtc)
index d2f102f0151504bc4ab14c02ef12bce92b6532a7..7ca486d750e9c63c4d0bec5cef87736aa4d9ebb0 100644 (file)
@@ -351,33 +351,19 @@ static const struct file_operations drm_crtc_crc_data_fops = {
        .release = crtc_crc_release,
 };
 
-int drm_debugfs_crtc_crc_add(struct drm_crtc *crtc)
+void drm_debugfs_crtc_crc_add(struct drm_crtc *crtc)
 {
-       struct dentry *crc_ent, *ent;
+       struct dentry *crc_ent;
 
        if (!crtc->funcs->set_crc_source || !crtc->funcs->verify_crc_source)
-               return 0;
+               return;
 
        crc_ent = debugfs_create_dir("crc", crtc->debugfs_entry);
-       if (!crc_ent)
-               return -ENOMEM;
-
-       ent = debugfs_create_file("control", S_IRUGO, crc_ent, crtc,
-                                 &drm_crtc_crc_control_fops);
-       if (!ent)
-               goto error;
-
-       ent = debugfs_create_file("data", S_IRUGO, crc_ent, crtc,
-                                 &drm_crtc_crc_data_fops);
-       if (!ent)
-               goto error;
-
-       return 0;
-
-error:
-       debugfs_remove_recursive(crc_ent);
 
-       return -ENOMEM;
+       debugfs_create_file("control", S_IRUGO, crc_ent, crtc,
+                           &drm_crtc_crc_control_fops);
+       debugfs_create_file("data", S_IRUGO, crc_ent, crtc,
+                           &drm_crtc_crc_data_fops);
 }
 
 /**
index 95a55d98e15270cee18e3cd5fcac28772a12270b..fe0ce86c280f10a1875c926ebbde94d2a267d3c4 100644 (file)
@@ -1164,11 +1164,6 @@ static int __init drm_core_init(void)
        }
 
        drm_debugfs_root = debugfs_create_dir("dri", NULL);
-       if (!drm_debugfs_root) {
-               ret = -ENOMEM;
-               DRM_ERROR("Cannot create debugfs-root: %d\n", ret);
-               goto error;
-       }
 
        ret = register_chrdev(DRM_MAJOR, "drm", &drm_stub_fops);
        if (ret < 0)
index 596e9f4ca7fc129135abe5ba4f9814abf1af8140..d18c7b91a1a834c92581d5db6bec3f07c58ff71a 100644 (file)
@@ -137,12 +137,12 @@ void drm_gem_print_info(struct drm_printer *p, unsigned int indent,
 #if defined(CONFIG_DEBUG_FS)
 int drm_debugfs_init(struct drm_minor *minor, int minor_id,
                     struct dentry *root);
-int drm_debugfs_cleanup(struct drm_minor *minor);
-int drm_debugfs_connector_add(struct drm_connector *connector);
+void drm_debugfs_cleanup(struct drm_minor *minor);
+void drm_debugfs_connector_add(struct drm_connector *connector);
 void drm_debugfs_connector_remove(struct drm_connector *connector);
-int drm_debugfs_crtc_add(struct drm_crtc *crtc);
+void drm_debugfs_crtc_add(struct drm_crtc *crtc);
 void drm_debugfs_crtc_remove(struct drm_crtc *crtc);
-int drm_debugfs_crtc_crc_add(struct drm_crtc *crtc);
+void drm_debugfs_crtc_crc_add(struct drm_crtc *crtc);
 #else
 static inline int drm_debugfs_init(struct drm_minor *minor, int minor_id,
                                   struct dentry *root)
@@ -150,30 +150,26 @@ static inline int drm_debugfs_init(struct drm_minor *minor, int minor_id,
        return 0;
 }
 
-static inline int drm_debugfs_cleanup(struct drm_minor *minor)
+static inline void drm_debugfs_cleanup(struct drm_minor *minor)
 {
-       return 0;
 }
 
-static inline int drm_debugfs_connector_add(struct drm_connector *connector)
+static inline void drm_debugfs_connector_add(struct drm_connector *connector)
 {
-       return 0;
 }
 static inline void drm_debugfs_connector_remove(struct drm_connector *connector)
 {
 }
 
-static inline int drm_debugfs_crtc_add(struct drm_crtc *crtc)
+static inline void drm_debugfs_crtc_add(struct drm_crtc *crtc)
 {
-       return 0;
 }
 static inline void drm_debugfs_crtc_remove(struct drm_crtc *crtc)
 {
 }
 
-static inline int drm_debugfs_crtc_crc_add(struct drm_crtc *crtc)
+static inline void drm_debugfs_crtc_crc_add(struct drm_crtc *crtc)
 {
-       return 0;
 }
 
 #endif