• Mark Brown's avatar
    regulator: core: Optimise enable/disable path for always on regulators · 6492bc1b
    Mark Brown authored
    If a regulator is always on for any reason then cache that when the
    consumer is created and use it to optimise away the need to take locks
    or recurse up the supply tree when consumers do enable or disable calls.
    The scheduling of asynchronous work for bulk enables is also skipped.
    
    We don't actually check if the device physically supports control on the
    basis that constraints allowing status changes on physically always on
    regulators are nonsensical anyway.
    
    This is a very common pattern in hardware - it's normal to have some
    power supplies that have either no software control or are critical to
    system function - so many systems should be able to benefit.
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Acked-by: default avatarLiam Girdwood <lrg@ti.com>
    6492bc1b
core.c 85 KB