net: hns3: clean up hns3_dbg_cmd_write()
authorPeng Li <lipeng321@huawei.com>
Fri, 12 Feb 2021 03:21:03 +0000 (11:21 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Feb 2021 21:13:15 +0000 (13:13 -0800)
As more commands are added, hns3_dbg_cmd_write() is going to
get more bloated, so move the part about command check into
a separate function.

Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c

index 818ac2c7c7ea232440d943ab10f5d16cdb25ef12..dd11c57027bb81c83cb103dd445ba76dc0c8fb78 100644 (file)
@@ -423,6 +423,30 @@ static ssize_t hns3_dbg_cmd_read(struct file *filp, char __user *buffer,
        return (*ppos = len);
 }
 
+static int hns3_dbg_check_cmd(struct hnae3_handle *handle, char *cmd_buf)
+{
+       int ret = 0;
+
+       if (strncmp(cmd_buf, "help", 4) == 0)
+               hns3_dbg_help(handle);
+       else if (strncmp(cmd_buf, "queue info", 10) == 0)
+               ret = hns3_dbg_queue_info(handle, cmd_buf);
+       else if (strncmp(cmd_buf, "queue map", 9) == 0)
+               ret = hns3_dbg_queue_map(handle);
+       else if (strncmp(cmd_buf, "bd info", 7) == 0)
+               ret = hns3_dbg_bd_info(handle, cmd_buf);
+       else if (strncmp(cmd_buf, "dev capability", 14) == 0)
+               hns3_dbg_dev_caps(handle);
+       else if (strncmp(cmd_buf, "dev spec", 8) == 0)
+               hns3_dbg_dev_specs(handle);
+       else if (handle->ae_algo->ops->dbg_run_cmd)
+               ret = handle->ae_algo->ops->dbg_run_cmd(handle, cmd_buf);
+       else
+               ret = -EOPNOTSUPP;
+
+       return ret;
+}
+
 static ssize_t hns3_dbg_cmd_write(struct file *filp, const char __user *buffer,
                                  size_t count, loff_t *ppos)
 {
@@ -430,7 +454,7 @@ static ssize_t hns3_dbg_cmd_write(struct file *filp, const char __user *buffer,
        struct hns3_nic_priv *priv  = handle->priv;
        char *cmd_buf, *cmd_buf_tmp;
        int uncopied_bytes;
-       int ret = 0;
+       int ret;
 
        if (*ppos != 0)
                return 0;
@@ -461,23 +485,7 @@ static ssize_t hns3_dbg_cmd_write(struct file *filp, const char __user *buffer,
                count = cmd_buf_tmp - cmd_buf + 1;
        }
 
-       if (strncmp(cmd_buf, "help", 4) == 0)
-               hns3_dbg_help(handle);
-       else if (strncmp(cmd_buf, "queue info", 10) == 0)
-               ret = hns3_dbg_queue_info(handle, cmd_buf);
-       else if (strncmp(cmd_buf, "queue map", 9) == 0)
-               ret = hns3_dbg_queue_map(handle);
-       else if (strncmp(cmd_buf, "bd info", 7) == 0)
-               ret = hns3_dbg_bd_info(handle, cmd_buf);
-       else if (strncmp(cmd_buf, "dev capability", 14) == 0)
-               hns3_dbg_dev_caps(handle);
-       else if (strncmp(cmd_buf, "dev spec", 8) == 0)
-               hns3_dbg_dev_specs(handle);
-       else if (handle->ae_algo->ops->dbg_run_cmd)
-               ret = handle->ae_algo->ops->dbg_run_cmd(handle, cmd_buf);
-       else
-               ret = -EOPNOTSUPP;
-
+       ret = hns3_dbg_check_cmd(handle, cmd_buf);
        if (ret)
                hns3_dbg_help(handle);