Commit 6e4f3db8 authored by lijiazi's avatar lijiazi Committed by Linus Walleij
Browse files

pinctrl: just return if no valid maps



If there is a problem with a pinctrl node of a device,
for example, config child node do not have prop specified in
dt_params, num_maps maybe 0. On this condition, no need remember
this map.

Signed-off-by: default avatarlijiazi <lijiazi@xiaomi.com>
Link: https://lore.kernel.org/r/29421e7720443a2454830963186f00583c76ce1e.1572588550.git.lijiazi@xiaomi.com


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent ee198352
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -162,6 +162,16 @@ static int dt_to_map_one_config(struct pinctrl *p,
	ret = ops->dt_node_to_map(pctldev, np_config, &map, &num_maps);
	if (ret < 0)
		return ret;
	else if (num_maps == 0) {
		/*
		 * If we have no valid maps (maybe caused by empty pinctrl node
		 * or typing error) ther is no need remember this, so just
		 * return.
		 */
		dev_info(p->dev,
			 "there is not valid maps for state %s\n", statename);
		return 0;
	}

	/* Stash the mapping table chunk away for later use */
	return dt_remember_or_free_map(p, statename, pctldev, map, num_maps);