• Chen-Yu Tsai's avatar
    ASoC: dapm: Implement stereo mixer control support · e7aa450f
    Chen-Yu Tsai authored
    While DAPM is mono or single channel, its controls can be shared between
    widgets, such as sharing one stereo mixer control between the left and
    right channel widgets. An example such as the following routes
    
        [Line In Left]----------<Line In Playback Switch>-------[Left Mixer]
                                              ^
              ^           ^                   |                      ^
           (inputs)    (paths)   <shared stereo mixer control>   (outputs)
              v           v                   |                      v
                                              v
        [Line In Right]---------<Line In Playback Switch>-------[Right Mixer]
    
    where we have separate widgets and paths for the left and right channels
    from "Line In" to "Mixer", but a shared stereo mixer control for the
    2 paths.
    
    This patch introduces support for such shared mixer controls, allowing
    more than 1 path to be attached to a single stereo control, and being
    able to control left/right channels independently.
    Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    e7aa450f
soc-dapm.c 112 KB