power: regulator: Only run autoset once for each regulator

With the commit 4fcba5d556b4 ("regulator: implement basic reference
counter"), keeping regulator enablement in balance become more important.
Calling regulator_autoset multiple times on a fixed regulator increase
the enable count for each call, resulting in an unbalanced enable count.

Introduce a AUTOSET_DONE flag and use it to mark that autoset has run
for the regulator. Return -EALREADY on any subsequent call to autoset.

This fixes so that the enable count is only ever increased by one per
regulator for autoset.

Fixes: 4fcba5d556b4 ("regulator: implement basic reference counter")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
diff --git a/include/power/regulator.h b/include/power/regulator.h
index ff1bfc2..200652c 100644
--- a/include/power/regulator.h
+++ b/include/power/regulator.h
@@ -134,6 +134,7 @@
 enum regulator_flag {
 	REGULATOR_FLAG_AUTOSET_UV	= 1 << 0,
 	REGULATOR_FLAG_AUTOSET_UA	= 1 << 1,
+	REGULATOR_FLAG_AUTOSET_DONE	= 1 << 2,
 };
 
 /**