Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83e58edd authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "pinctrl: Protect the pinctrl_maps in pinctrl_register_map"

parents 5d17d1a1 28ce3cd6
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -1077,7 +1077,7 @@ void devm_pinctrl_put(struct pinctrl *p)
EXPORT_SYMBOL_GPL(devm_pinctrl_put);

int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
			 bool dup, bool locked)
			 bool dup)
{
	int i, ret;
	struct pinctrl_maps *maps_node;
@@ -1145,10 +1145,8 @@ int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
		maps_node->maps = maps;
	}

	if (!locked)
	mutex_lock(&pinctrl_maps_mutex);
	list_add_tail(&maps_node->node, &pinctrl_maps);
	if (!locked)
	mutex_unlock(&pinctrl_maps_mutex);

	return 0;
@@ -1164,7 +1162,7 @@ int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
int pinctrl_register_mappings(struct pinctrl_map const *maps,
			      unsigned num_maps)
{
	return pinctrl_register_map(maps, num_maps, true, false);
	return pinctrl_register_map(maps, num_maps, true);
}

void pinctrl_unregister_map(struct pinctrl_map const *map)
+1 −1
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ static inline struct pin_desc *pin_desc_get(struct pinctrl_dev *pctldev,
}

int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
			 bool dup, bool locked);
			 bool dup);
void pinctrl_unregister_map(struct pinctrl_map const *map);

extern int pinctrl_force_sleep(struct pinctrl_dev *pctldev);
+1 −1
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ static int dt_remember_or_free_map(struct pinctrl *p, const char *statename,
	dt_map->num_maps = num_maps;
	list_add_tail(&dt_map->node, &p->dt_maps);

	return pinctrl_register_map(map, num_maps, false, true);
	return pinctrl_register_map(map, num_maps, false);
}

struct pinctrl_dev *of_pinctrl_get(struct device_node *np)