powerpc/xmon: use match_string() helper

match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Yisheng Xie 2018-05-31 19:11:25 +08:00 committed by Michael Ellerman
parent 2479bfc9bc
commit 0abbf2bfdc
1 changed files with 11 additions and 12 deletions

View File

@ -3173,7 +3173,7 @@ skipbl(void)
}
#define N_PTREGS 44
static char *regnames[N_PTREGS] = {
static const char *regnames[N_PTREGS] = {
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
"r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
@ -3208,18 +3208,17 @@ scanhex(unsigned long *vp)
regname[i] = c;
}
regname[i] = 0;
for (i = 0; i < N_PTREGS; ++i) {
if (strcmp(regnames[i], regname) == 0) {
if (xmon_regs == NULL) {
printf("regs not available\n");
return 0;
}
*vp = ((unsigned long *)xmon_regs)[i];
return 1;
}
i = match_string(regnames, N_PTREGS, regname);
if (i < 0) {
printf("invalid register name '%%%s'\n", regname);
return 0;
}
printf("invalid register name '%%%s'\n", regname);
return 0;
if (xmon_regs == NULL) {
printf("regs not available\n");
return 0;
}
*vp = ((unsigned long *)xmon_regs)[i];
return 1;
}
/* skip leading "0x" if any */