mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
pinctrl: sh-pfc: checker: Add function GPIO checks
Add checks for legacy function GPIO descriptors: 1. Function GPIOs must have a name, 2. Names must be unique, 3. Enum ID values must be unique. This exposes bugs like those fixed in - commit884caadad1
("pinctrl: sh-pfc: sh7734: Fix duplicate TCLK1_B"), - commit55b1cb1f03
("pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs"), - commit02aeb2f215
("pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs"), - commitdb9c07272c
("sh: sh7264: Remove bogus SSU GPIO function definitions"), - commitb4fba344a2
("sh: sh7269: Remove bogus SSU GPIO function definitions"). Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Link: https://lore.kernel.org/r/20200110131927.1029-14-geert+renesas@glider.be
This commit is contained in:
parent
0e6cd847a4
commit
92c44680c5
@ -1012,6 +1012,26 @@ static void __init sh_pfc_check_info(const struct sh_pfc_soc_info *info)
|
||||
info->data_regs[i].enum_ids,
|
||||
info->data_regs[i].reg_width);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PINCTRL_SH_FUNC_GPIO
|
||||
/* Check function GPIOs */
|
||||
for (i = 0; i < info->nr_func_gpios; i++) {
|
||||
const struct pinmux_func *func = &info->func_gpios[i];
|
||||
|
||||
if (!func->name) {
|
||||
sh_pfc_err("empty function gpio %u\n", i);
|
||||
continue;
|
||||
}
|
||||
for (j = 0; j < i; j++) {
|
||||
if (same_name(func->name, info->func_gpios[j].name))
|
||||
sh_pfc_err("func_gpio %s: name conflict\n",
|
||||
func->name);
|
||||
}
|
||||
if (sh_pfc_check_enum(drvname, func->enum_id))
|
||||
sh_pfc_err("%s enum_id %u conflict\n", func->name,
|
||||
func->enum_id);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void __init sh_pfc_check_driver(const struct platform_driver *pdrv)
|
||||
|
Loading…
Reference in New Issue
Block a user