wimax: no need to check return value of debugfs_create functions
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 10 Aug 2019 10:17:16 +0000 (12:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 10 Aug 2019 22:25:47 +0000 (15:25 -0700)
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.

This cleans up a lot of unneeded code and logic around the debugfs wimax
files, making all of this much simpler and easier to understand.

Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Cc: linux-wimax@intel.com
Cc: netdev@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wimax/i2400m/debugfs.c
drivers/net/wimax/i2400m/driver.c
drivers/net/wimax/i2400m/i2400m.h
drivers/net/wimax/i2400m/usb.c
include/linux/wimax/debug.h
net/wimax/debugfs.c
net/wimax/stack.c
net/wimax/wimax-internal.h

index 6544ac9..73f5892 100644 (file)
@@ -30,15 +30,6 @@ DEFINE_SIMPLE_ATTRIBUTE(fops_netdev_queue_stopped,
                        debugfs_netdev_queue_stopped_get,
                        NULL, "%llu\n");
 
-
-static
-struct dentry *debugfs_create_netdev_queue_stopped(
-       const char *name, struct dentry *parent, struct i2400m *i2400m)
-{
-       return debugfs_create_file(name, 0400, parent, i2400m,
-                                  &fops_netdev_queue_stopped);
-}
-
 /*
  * We don't allow partial reads of this file, as then the reader would
  * get weirdly confused data as it is updated.
@@ -167,15 +158,6 @@ DEFINE_SIMPLE_ATTRIBUTE(fops_i2400m_suspend,
                        NULL, debugfs_i2400m_suspend_set,
                        "%llu\n");
 
-static
-struct dentry *debugfs_create_i2400m_suspend(
-       const char *name, struct dentry *parent, struct i2400m *i2400m)
-{
-       return debugfs_create_file(name, 0200, parent, i2400m,
-                                  &fops_i2400m_suspend);
-}
-
-
 /*
  * Reset the device
  *
@@ -205,73 +187,25 @@ DEFINE_SIMPLE_ATTRIBUTE(fops_i2400m_reset,
                        NULL, debugfs_i2400m_reset_set,
                        "%llu\n");
 
-static
-struct dentry *debugfs_create_i2400m_reset(
-       const char *name, struct dentry *parent, struct i2400m *i2400m)
+void i2400m_debugfs_add(struct i2400m *i2400m)
 {
-       return debugfs_create_file(name, 0200, parent, i2400m,
-                                  &fops_i2400m_reset);
-}
-
-
-#define __debugfs_register(prefix, name, parent)                       \
-do {                                                                   \
-       result = d_level_register_debugfs(prefix, name, parent);        \
-       if (result < 0)                                                 \
-               goto error;                                             \
-} while (0)
-
-
-int i2400m_debugfs_add(struct i2400m *i2400m)
-{
-       int result;
-       struct device *dev = i2400m_dev(i2400m);
        struct dentry *dentry = i2400m->wimax_dev.debugfs_dentry;
-       struct dentry *fd;
 
        dentry = debugfs_create_dir("i2400m", dentry);
-       result = PTR_ERR(dentry);
-       if (IS_ERR(dentry)) {
-               if (result == -ENODEV)
-                       result = 0;     /* No debugfs support */
-               goto error;
-       }
        i2400m->debugfs_dentry = dentry;
-       __debugfs_register("dl_", control, dentry);
-       __debugfs_register("dl_", driver, dentry);
-       __debugfs_register("dl_", debugfs, dentry);
-       __debugfs_register("dl_", fw, dentry);
-       __debugfs_register("dl_", netdev, dentry);
-       __debugfs_register("dl_", rfkill, dentry);
-       __debugfs_register("dl_", rx, dentry);
-       __debugfs_register("dl_", tx, dentry);
-
-       fd = debugfs_create_size_t("tx_in", 0400, dentry,
-                                  &i2400m->tx_in);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "tx_in: %d\n", result);
-               goto error;
-       }
 
-       fd = debugfs_create_size_t("tx_out", 0400, dentry,
-                                  &i2400m->tx_out);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "tx_out: %d\n", result);
-               goto error;
-       }
+       d_level_register_debugfs("dl_", control, dentry);
+       d_level_register_debugfs("dl_", driver, dentry);
+       d_level_register_debugfs("dl_", debugfs, dentry);
+       d_level_register_debugfs("dl_", fw, dentry);
+       d_level_register_debugfs("dl_", netdev, dentry);
+       d_level_register_debugfs("dl_", rfkill, dentry);
+       d_level_register_debugfs("dl_", rx, dentry);
+       d_level_register_debugfs("dl_", tx, dentry);
 
-       fd = debugfs_create_u32("state", 0600, dentry,
-                               &i2400m->state);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "state: %d\n", result);
-               goto error;
-       }
+       debugfs_create_size_t("tx_in", 0400, dentry, &i2400m->tx_in);
+       debugfs_create_size_t("tx_out", 0400, dentry, &i2400m->tx_out);
+       debugfs_create_u32("state", 0600, dentry, &i2400m->state);
 
        /*
         * Trace received messages from user space
@@ -295,60 +229,22 @@ int i2400m_debugfs_add(struct i2400m *i2400m)
         * It is not really very atomic, but it is also not too
         * critical.
         */
-       fd = debugfs_create_u8("trace_msg_from_user", 0600, dentry,
-                              &i2400m->trace_msg_from_user);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "trace_msg_from_user: %d\n", result);
-               goto error;
-       }
+       debugfs_create_u8("trace_msg_from_user", 0600, dentry,
+                         &i2400m->trace_msg_from_user);
 
-       fd = debugfs_create_netdev_queue_stopped("netdev_queue_stopped",
-                                                dentry, i2400m);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "netdev_queue_stopped: %d\n", result);
-               goto error;
-       }
+       debugfs_create_file("netdev_queue_stopped", 0400, dentry, i2400m,
+                           &fops_netdev_queue_stopped);
 
-       fd = debugfs_create_file("rx_stats", 0600, dentry, i2400m,
-                                &i2400m_rx_stats_fops);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "rx_stats: %d\n", result);
-               goto error;
-       }
+       debugfs_create_file("rx_stats", 0600, dentry, i2400m,
+                           &i2400m_rx_stats_fops);
 
-       fd = debugfs_create_file("tx_stats", 0600, dentry, i2400m,
-                                &i2400m_tx_stats_fops);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "tx_stats: %d\n", result);
-               goto error;
-       }
+       debugfs_create_file("tx_stats", 0600, dentry, i2400m,
+                           &i2400m_tx_stats_fops);
 
-       fd = debugfs_create_i2400m_suspend("suspend", dentry, i2400m);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry suspend: %d\n",
-                       result);
-               goto error;
-       }
+       debugfs_create_file("suspend", 0200, dentry, i2400m,
+                           &fops_i2400m_suspend);
 
-       fd = debugfs_create_i2400m_reset("reset", dentry, i2400m);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry reset: %d\n", result);
-               goto error;
-       }
-
-       result = 0;
-error:
-       return result;
+       debugfs_create_file("reset", 0200, dentry, i2400m, &fops_i2400m_reset);
 }
 
 void i2400m_debugfs_rm(struct i2400m *i2400m)
index 0a29222..f66c0f8 100644 (file)
@@ -905,11 +905,7 @@ int i2400m_setup(struct i2400m *i2400m, enum i2400m_bri bm_flags)
                goto error_sysfs_setup;
        }
 
-       result = i2400m_debugfs_add(i2400m);
-       if (result < 0) {
-               dev_err(dev, "cannot setup i2400m's debugfs: %d\n", result);
-               goto error_debugfs_setup;
-       }
+       i2400m_debugfs_add(i2400m);
 
        result = i2400m_dev_start(i2400m, bm_flags);
        if (result < 0)
@@ -919,7 +915,6 @@ int i2400m_setup(struct i2400m *i2400m, enum i2400m_bri bm_flags)
 
 error_dev_start:
        i2400m_debugfs_rm(i2400m);
-error_debugfs_setup:
        sysfs_remove_group(&i2400m->wimax_dev.net_dev->dev.kobj,
                           &i2400m_dev_attr_group);
 error_sysfs_setup:
index 5a34e72..a3733a6 100644 (file)
@@ -812,13 +812,10 @@ enum i2400m_pt;
 int i2400m_tx(struct i2400m *, const void *, size_t, enum i2400m_pt);
 
 #ifdef CONFIG_DEBUG_FS
-int i2400m_debugfs_add(struct i2400m *);
+void i2400m_debugfs_add(struct i2400m *);
 void i2400m_debugfs_rm(struct i2400m *);
 #else
-static inline int i2400m_debugfs_add(struct i2400m *i2400m)
-{
-       return 0;
-}
+static inline void i2400m_debugfs_add(struct i2400m *i2400m) {}
 static inline void i2400m_debugfs_rm(struct i2400m *i2400m) {}
 #endif
 
index 2075e7b..6953f90 100644 (file)
@@ -366,61 +366,25 @@ struct d_level D_LEVEL[] = {
 };
 size_t D_LEVEL_SIZE = ARRAY_SIZE(D_LEVEL);
 
-
-#define __debugfs_register(prefix, name, parent)                       \
-do {                                                                   \
-       result = d_level_register_debugfs(prefix, name, parent);        \
-       if (result < 0)                                                 \
-               goto error;                                             \
-} while (0)
-
-
 static
-int i2400mu_debugfs_add(struct i2400mu *i2400mu)
+void i2400mu_debugfs_add(struct i2400mu *i2400mu)
 {
-       int result;
-       struct device *dev = &i2400mu->usb_iface->dev;
        struct dentry *dentry = i2400mu->i2400m.wimax_dev.debugfs_dentry;
-       struct dentry *fd;
 
        dentry = debugfs_create_dir("i2400m-usb", dentry);
-       result = PTR_ERR(dentry);
-       if (IS_ERR(dentry)) {
-               if (result == -ENODEV)
-                       result = 0;     /* No debugfs support */
-               goto error;
-       }
        i2400mu->debugfs_dentry = dentry;
-       __debugfs_register("dl_", usb, dentry);
-       __debugfs_register("dl_", fw, dentry);
-       __debugfs_register("dl_", notif, dentry);
-       __debugfs_register("dl_", rx, dentry);
-       __debugfs_register("dl_", tx, dentry);
 
-       /* Don't touch these if you don't know what you are doing */
-       fd = debugfs_create_u8("rx_size_auto_shrink", 0600, dentry,
-                              &i2400mu->rx_size_auto_shrink);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "rx_size_auto_shrink: %d\n", result);
-               goto error;
-       }
+       d_level_register_debugfs("dl_", usb, dentry);
+       d_level_register_debugfs("dl_", fw, dentry);
+       d_level_register_debugfs("dl_", notif, dentry);
+       d_level_register_debugfs("dl_", rx, dentry);
+       d_level_register_debugfs("dl_", tx, dentry);
 
-       fd = debugfs_create_size_t("rx_size", 0600, dentry,
-                                  &i2400mu->rx_size);
-       result = PTR_ERR(fd);
-       if (IS_ERR(fd) && result != -ENODEV) {
-               dev_err(dev, "Can't create debugfs entry "
-                       "rx_size: %d\n", result);
-               goto error;
-       }
-
-       return 0;
+       /* Don't touch these if you don't know what you are doing */
+       debugfs_create_u8("rx_size_auto_shrink", 0600, dentry,
+                         &i2400mu->rx_size_auto_shrink);
 
-error:
-       debugfs_remove_recursive(i2400mu->debugfs_dentry);
-       return result;
+       debugfs_create_size_t("rx_size", 0600, dentry, &i2400mu->rx_size);
 }
 
 
@@ -534,15 +498,9 @@ int i2400mu_probe(struct usb_interface *iface,
                dev_err(dev, "cannot setup device: %d\n", result);
                goto error_setup;
        }
-       result = i2400mu_debugfs_add(i2400mu);
-       if (result < 0) {
-               dev_err(dev, "Can't register i2400mu's debugfs: %d\n", result);
-               goto error_debugfs_add;
-       }
+       i2400mu_debugfs_add(i2400mu);
        return 0;
 
-error_debugfs_add:
-       i2400m_release(i2400m);
 error_setup:
        usb_set_intfdata(iface, NULL);
        usb_put_dev(i2400mu->usb_dev);
index 7cb63e4..4dd2c1c 100644 (file)
@@ -98,9 +98,7 @@
  * To manipulate from user space the levels, create a debugfs dentry
  * and then register each submodule with:
  *
- *     result = d_level_register_debugfs("PREFIX_", submodule_X, parent);
- *     if (result < 0)
- *            goto error;
+ *     d_level_register_debugfs("PREFIX_", submodule_X, parent);
  *
  * Where PREFIX_ is a name of your chosing. This will create debugfs
  * file with a single numeric value that can be use to tweak it. To
@@ -408,25 +406,13 @@ do {                                                      \
  * @submodule: name of submodule (not a string, just the name)
  * @dentry: debugfs parent dentry
  *
- * Returns: 0 if ok, < 0 errno on error.
- *
  * For removing, just use debugfs_remove_recursive() on the parent.
  */
 #define d_level_register_debugfs(prefix, name, parent)                 \
 ({                                                                     \
-       int rc;                                                         \
-       struct dentry *fd;                                              \
-       struct dentry *verify_parent_type = parent;                     \
-       fd = debugfs_create_u8(                                         \
-               prefix #name, 0600, verify_parent_type,                 \
+       debugfs_create_u8(                                              \
+               prefix #name, 0600, parent,                             \
                &(D_LEVEL[__D_SUBMODULE_ ## name].level));              \
-       rc = PTR_ERR(fd);                                               \
-       if (IS_ERR(fd) && rc != -ENODEV)                                \
-               printk(KERN_ERR "%s: Can't create debugfs entry %s: "   \
-                      "%d\n", __func__, prefix #name, rc);             \
-       else                                                            \
-               rc = 0;                                                 \
-       rc;                                                             \
 })
 
 
index 1af56df..3c54bb6 100644 (file)
 #define D_SUBMODULE debugfs
 #include "debug-levels.h"
 
-
-#define __debugfs_register(prefix, name, parent)                       \
-do {                                                                   \
-       result = d_level_register_debugfs(prefix, name, parent);        \
-       if (result < 0)                                                 \
-               goto error;                                             \
-} while (0)
-
-
-int wimax_debugfs_add(struct wimax_dev *wimax_dev)
+void wimax_debugfs_add(struct wimax_dev *wimax_dev)
 {
-       int result;
        struct net_device *net_dev = wimax_dev->net_dev;
-       struct device *dev = net_dev->dev.parent;
        struct dentry *dentry;
        char buf[128];
 
        snprintf(buf, sizeof(buf), "wimax:%s", net_dev->name);
        dentry = debugfs_create_dir(buf, NULL);
-       result = PTR_ERR(dentry);
-       if (IS_ERR(dentry)) {
-               if (result == -ENODEV)
-                       result = 0;     /* No debugfs support */
-               else
-                       dev_err(dev, "Can't create debugfs dentry: %d\n",
-                               result);
-               goto out;
-       }
        wimax_dev->debugfs_dentry = dentry;
-       __debugfs_register("wimax_dl_", debugfs, dentry);
-       __debugfs_register("wimax_dl_", id_table, dentry);
-       __debugfs_register("wimax_dl_", op_msg, dentry);
-       __debugfs_register("wimax_dl_", op_reset, dentry);
-       __debugfs_register("wimax_dl_", op_rfkill, dentry);
-       __debugfs_register("wimax_dl_", op_state_get, dentry);
-       __debugfs_register("wimax_dl_", stack, dentry);
-       result = 0;
-out:
-       return result;
 
-error:
-       debugfs_remove_recursive(wimax_dev->debugfs_dentry);
-       return result;
+       d_level_register_debugfs("wimax_dl_", debugfs, dentry);
+       d_level_register_debugfs("wimax_dl_", id_table, dentry);
+       d_level_register_debugfs("wimax_dl_", op_msg, dentry);
+       d_level_register_debugfs("wimax_dl_", op_reset, dentry);
+       d_level_register_debugfs("wimax_dl_", op_rfkill, dentry);
+       d_level_register_debugfs("wimax_dl_", op_state_get, dentry);
+       d_level_register_debugfs("wimax_dl_", stack, dentry);
 }
 
 void wimax_debugfs_rm(struct wimax_dev *wimax_dev)
index 1ba99d6..4b9b1c5 100644 (file)
@@ -481,12 +481,7 @@ int wimax_dev_add(struct wimax_dev *wimax_dev, struct net_device *net_dev)
        /* Set up user-space interaction */
        mutex_lock(&wimax_dev->mutex);
        wimax_id_table_add(wimax_dev);
-       result = wimax_debugfs_add(wimax_dev);
-       if (result < 0) {
-               dev_err(dev, "cannot initialize debugfs: %d\n",
-                       result);
-               goto error_debugfs_add;
-       }
+       wimax_debugfs_add(wimax_dev);
 
        __wimax_state_set(wimax_dev, WIMAX_ST_DOWN);
        mutex_unlock(&wimax_dev->mutex);
@@ -498,10 +493,6 @@ int wimax_dev_add(struct wimax_dev *wimax_dev, struct net_device *net_dev)
        d_fnend(3, dev, "(wimax_dev %p net_dev %p) = 0\n", wimax_dev, net_dev);
        return 0;
 
-error_debugfs_add:
-       wimax_id_table_rm(wimax_dev);
-       mutex_unlock(&wimax_dev->mutex);
-       wimax_rfkill_rm(wimax_dev);
 error_rfkill_add:
        d_fnend(3, dev, "(wimax_dev %p net_dev %p) = %d\n",
                wimax_dev, net_dev, result);
index e819a09..4075120 100644 (file)
@@ -57,13 +57,10 @@ void __wimax_state_set(struct wimax_dev *wimax_dev, enum wimax_st state)
 void __wimax_state_change(struct wimax_dev *, enum wimax_st);
 
 #ifdef CONFIG_DEBUG_FS
-int wimax_debugfs_add(struct wimax_dev *);
+void wimax_debugfs_add(struct wimax_dev *);
 void wimax_debugfs_rm(struct wimax_dev *);
 #else
-static inline int wimax_debugfs_add(struct wimax_dev *wimax_dev)
-{
-       return 0;
-}
+static inline void wimax_debugfs_add(struct wimax_dev *wimax_dev) {}
 static inline void wimax_debugfs_rm(struct wimax_dev *wimax_dev) {}
 #endif