From: Geert Uytterhoeven Date: Fri, 10 Jan 2020 13:19:21 +0000 (+0100) Subject: pinctrl: sh-pfc: checker: Improve pin function checks X-Git-Tag: v5.15~4171^2~21^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a95b077db4fcf5aeeaf74372e31d684df29cb033;p=platform%2Fkernel%2Flinux-starfive.git pinctrl: sh-pfc: checker: Improve pin function checks Improve the checks for pin function descriptors: 1. Merge declaration and assignment of the local variable for the current pin function, 2. Pin function names must be unique. Signed-off-by: Geert Uytterhoeven Reviewed-by: Niklas Söderlund Link: https://lore.kernel.org/r/20200110131927.1029-8-geert+renesas@glider.be --- diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c index be7afc4..fd649ab 100644 --- a/drivers/pinctrl/sh-pfc/core.c +++ b/drivers/pinctrl/sh-pfc/core.c @@ -849,7 +849,6 @@ check_enum_ids: static void __init sh_pfc_check_info(const struct sh_pfc_soc_info *info) { - const struct sh_pfc_function *func; const char *drvname = info->name; unsigned int *refcnts; unsigned int i, j, k; @@ -890,11 +889,17 @@ static void __init sh_pfc_check_info(const struct sh_pfc_soc_info *info) return; for (i = 0; i < info->nr_functions; i++) { - func = &info->functions[i]; + const struct sh_pfc_function *func = &info->functions[i]; + if (!func->name) { sh_pfc_err("empty function %u\n", i); continue; } + for (j = 0; j < i; j++) { + if (same_name(func->name, info->functions[j].name)) + sh_pfc_err("function %s: name conflict\n", + func->name); + } for (j = 0; j < func->nr_groups; j++) { for (k = 0; k < info->nr_groups; k++) { if (same_name(func->groups[j],