• Mark Brown's avatar
    regulator: Add regulator_get_exclusive() API · a8b57e2d
    Mark Brown authored
    Some consumers require complete control of the regulator and can't
    tolerate sharing it with other consumers, most commonly because they need
    to have the regulator actually disabled so can't have other consumers
    forcing it on. This new regulator_get_exclusive() API call allows these
    consumers to explicitly request this, documenting the assumptions that
    they are making.
    
    In order to simplify coding of such consumers the use count for regulators
    they request is forced to match the enabled state of the regulator when
    it is requested. This is not possible for consumers which can share
    regulators due to the need to keep track of the ownership of use counts.
    
    A new API call is used rather than an additional argument to the existing
    regulator_get() in order to avoid merge headaches with driver code in
    other trees.
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    a8b57e2d
core.c 62.4 KB