From: Peng Li <lipeng...@huawei.com>

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 <lipeng...@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazh...@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 44 +++++++++++++---------
 1 file changed, 26 insertions(+), 18 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c 
b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
index 818ac2c..dd11c57 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
@@ -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);
 
-- 
2.7.4

Reply via email to