cxgb4: Use match_string() helper to simplify the code
authorYueHaibing <yuehaibing@huawei.com>
Thu, 7 Nov 2019 14:35:58 +0000 (22:35 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Nov 2019 19:33:16 +0000 (11:33 -0800)
match_string() returns the array index of a matching string.
Use it instead of the open-coded implementation.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c

index c9d3dea..19c1156 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <linux/sort.h>
+#include <linux/string.h>
 
 #include "t4_regs.h"
 #include "cxgb4.h"
@@ -776,24 +777,18 @@ static int cudbg_get_mem_region(struct adapter *padap,
                                struct cudbg_mem_desc *mem_desc)
 {
        u8 mc, found = 0;
-       u32 i, idx = 0;
-       int rc;
+       u32 idx = 0;
+       int rc, i;
 
        rc = cudbg_meminfo_get_mem_index(padap, meminfo, mem_type, &mc);
        if (rc)
                return rc;
 
-       for (i = 0; i < ARRAY_SIZE(cudbg_region); i++) {
-               if (!strcmp(cudbg_region[i], region_name)) {
-                       found = 1;
-                       idx = i;
-                       break;
-               }
-       }
-       if (!found)
+       i = match_string(cudbg_region, ARRAY_SIZE(cudbg_region), region_name);
+       if (i < 0)
                return -EINVAL;
 
-       found = 0;
+       idx = i;
        for (i = 0; i < meminfo->mem_c; i++) {
                if (meminfo->mem[i].idx >= ARRAY_SIZE(cudbg_region))
                        continue; /* Skip holes */