• Mark Brown's avatar
    ASoC: core: Use driver core probe deferral · b19e6e7b
    Mark Brown authored
    In version 3.4 the driver core acquired probe deferral which is a core way
    of doing essentially the same thing as ASoC has been doing since forever
    to make sure that all the devices needed to make up the card are present
    without needing open coding in the subsystem.
    
    Make basic use of this probe deferral mechanism for the cards, removing the
    need to handle partially instantiated cards. We should be able to remove
    even more code than this, though some of the checks we're currently doing
    should stay since they're about things like suppressing unneeded DAPM runs
    rather than deferring probes.
    
    In order to avoid robustness issues with our teardown paths (which do need
    quite a bit of TLC) add a check for aux_devs prior to attempting to set
    things up, this means that we've got a reasonable idea that everything will
    be there before we start. As with the removal of partial instantiation
    support more work will be needed to make this work neatly.
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Acked-by: default avatarLiam Girdwood <lrg@ti.com>
    b19e6e7b
soc-core.c 93.2 KB