leds/leds-regulator.c: fix handling of already enabled regulators
authorAntonio Ospite <ospite@studenti.unina.it>
Thu, 14 Apr 2011 22:21:59 +0000 (15:21 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 14 Apr 2011 23:06:54 +0000 (16:06 -0700)
commit592ce316395abc6b4e96c1ac198e5f347bb5d578
tree28281eed393ec50625ff3558956baccb5c4f4ec7
parentd3bc2367180f7ee6afe4ee6e886bfba3ad4eb290
leds/leds-regulator.c: fix handling of already enabled regulators

Make the driver aware of the initial status of the regulator.

The leds-regulator driver was ignoring the initial status of the
regulator; this resulted in rdev->use_count being incremented to 2 after
calling regulator_led_set_value() in the .probe method when a regulator
was already enabled at insmod time, which made it impossible to ever
disable the regulator.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Antonio Ospite <ospite@studenti.unina.it>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/leds/leds-regulator.c