• Charles Keepax's avatar
    mfd: arizona: Use new regmap features for manual register patch · 1c18d2ca
    Charles Keepax authored
    On the wm5102 the register patches are applied manually, rather than by
    the regmap core. This application is wrapped in calls to
    regcache_cache_bypass. However, this is dangerous as other threads may
    be accessing the hardware at the same time as the pm_runtime operations
    and if they do so during the period whilst cache_bypass is enabled those
    writes will miss the cache when they shouldn't.
    
    Apply the register patch using the new regmap_multi_reg_write_bypassed
    function to avoid this problem. Also remove the call to
    regcache_cache_bypass from the hardware patch application as it is
    unneeded there and creates a similar window for writes to miss the
    cache.
    Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Acked-by: default avatarLee Jones <lee.jones@linaro.org>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    1c18d2ca
arizona-core.c 25.3 KB