• David Brownell's avatar
    regulator: refcount fixes · cd94b505
    David Brownell authored
    Fix some refcounting issues in the regulator framework, supporting
    regulator_disable() for regulators that were enabled at boot time
    via machine constraints:
    
     - Update those regulators' usecounts after enabling, so they
       can cleanly be disabled at that level.
    
     - Remove the problematic per-consumer usecount, so there's
       only one level of enable/disable.
    
    Buggy consumers could notice different bug symptoms.  The main
    example would be refcounting bugs; also, any (out-of-tree) users
    of the experimental regulator_set_optimum_mode() stuff which
    don't call it when they're done using a regulator.
    
    This is a net minor codeshrink.
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    cd94b505
core.c 57.5 KB