• Stephen Warren's avatar
    ASoC: Implement fully_routed card property · 1633281b
    Stephen Warren authored
    A card is fully routed if the DAPM route table describes all connections on
    the board.
    
    When a card is fully routed, some operations can be automated by the ASoC
    core. The first, and currently only, such operation is described below, and
    implemented by this patch.
    
    Codecs often have a large number of external pins, and not all of these pins
    will be connected on all board designs. Some machine drivers therefore call
    snd_soc_dapm_nc_pin() for all the unused pins, in order to tell the ASoC core
    never to activate them.
    
    However, when a card is fully routed, the information needed to derive the
    set of unused pins is present in card->dapm_routes. In this case, have
    the ASoC core automatically call snd_soc_dapm_nc_pin() for each unused
    codec pin.
    
    This has been tested with soc/tegra/tegra_wm8903.c and soc/tegra/trimslice.c.
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    1633281b
soc-core.c 85 KB