Commit 8009d5ff authored by Richard Genoud's avatar Richard Genoud Committed by Linus Walleij
Browse files

pinctrl: remove superfluous optimization in pinctrl_select_state_locked



As Stephen Warren suggested, checking first if the setting->node entry
is the first in the list or not is superfluous, as it is checked again
in the list_for_each_entry bellow.
So, remove it, the code will be simpler and lighter !

Signed-off-by: default avatarRichard Genoud <richard.genoud@gmail.com>
Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent da58751c
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -967,20 +967,12 @@ static int pinctrl_select_state_locked(struct pinctrl *p,
unapply_new_state:
	dev_err(p->dev, "Error applying setting, reverse things back\n");

	/*
	 * If the loop stopped on the 1st entry, nothing has been enabled,
	 * so jump directly to the 2nd phase
	 */
	if (list_entry(&setting->node, typeof(*setting), node) ==
	    list_first_entry(&state->settings, typeof(*setting), node))
		goto reapply_old_state;

	list_for_each_entry(setting2, &state->settings, node) {
		if (&setting2->node == &setting->node)
			break;
		pinctrl_free_setting(true, setting2);
	}
reapply_old_state:

	if (old_state) {
		list_for_each_entry(setting, &old_state->settings, node) {
			bool found = false;