• Lars-Peter Clausen's avatar
    ASoC: Move IO abstraction to the component level · e2c330b9
    Lars-Peter Clausen authored
    We currently have two very similar IO abstractions in ASoC, one for CODECs, the
    other for platforms. Moving this to the component level will allow us to unify
    those two. It will also enable us to move the standard kcontrol helpers as well
    as DAPM support to the component level.
    
    The new component level abstraction layer is primarily build around regmap.
    There is a per component pointer for the regmap instance for the underlying
    device. There are four new function snd_soc_component_read(),
    snd_soc_component_write(), snd_soc_component_update_bits() and
    snd_soc_component_update_bits_async(). They have the same signature as their
    regmap counter-part and will internally forward the call one-to-one to regmap.
    If the component it not using regmap it will fallback to using the custom IO
    callbacks. This is done to be able to support drivers that haven't been
    converted to regmap yet, but it is expected that this will eventually be removed
    in the future once all component drivers have been converted to regmap.
    Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    e2c330b9
soc-io.c 8.68 KB