regulator: Fix 'do-nothing' value for regulators without suspend state
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 3 Sep 2018 14:49:37 +0000 (16:49 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 3 Sep 2018 15:10:40 +0000 (16:10 +0100)
commit3edd79cf5a44b12dbb13bc320f5788aed6562b36
tree113e6648b42a65f5eab03fdf69227f4ca27707f3
parentef394f3fbecbe61d69450ad8cf0fa8f713c8ce8f
regulator: Fix 'do-nothing' value for regulators without suspend state

Some regulators don't have all states defined and in such cases regulator
core should not assume anything. However in current implementation
of of_get_regulation_constraints() DO_NOTHING_IN_SUSPEND enable value was
set only for regulators which had suspend node defined, otherwise the
default 0 value was used, what means DISABLE_IN_SUSPEND. This lead to
broken system suspend/resume on boards, which had simple regulator
constraints definition (without suspend state nodes).

To avoid further mismatches between the default and uninitialized values
of the suspend enabled/disabled states, change the values of the them,
so default '0' means DO_NOTHING_IN_SUSPEND.

Fixes: 72069f9957a1: regulator: leave one item to record whether regulator is enabled
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
drivers/regulator/core.c
drivers/regulator/of_regulator.c
include/linux/regulator/machine.h