regulator: Refactor supply implementation to work as regular consumers
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 9 Jun 2011 15:22:22 +0000 (16:22 +0100)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Thu, 9 Jun 2011 18:14:34 +0000 (19:14 +0100)
commit3801b86aa482d26a8ae460f67fca29e016491a86
treeba3928efe63efb571356d33427de6cdffa1d6c76
parente0eaedefda8e14ed3f445f382c568c5d69e4223f
regulator: Refactor supply implementation to work as regular consumers

Currently the regulator supply implementation is somewhat complex and
fragile as it doesn't look like standard consumers but is instead a
parallel implementation. This causes issues with locking and reference
counting.

Move the implementation over to using standard consumers to address this.
Rather than only notifying the supply on the first enable/disable we do so
every time the regulator is enabled or disabled, simplifying locking as we
don't need to hold a lock on the consumer we are about to enable.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
drivers/regulator/core.c
include/linux/regulator/driver.h