On Fri, 12 Nov 2010 16:01:10 +0000 Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > Ensure that we keep all widget powerups in DAPM sequence by making > the CODEC the last thing we compare on rather than the first thing. > Also fix the fact that we're currently comparing the widget pointers > rather than the CODEC pointers when we do the substraction so we > won't get stable results. > > Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> > --- > sound/soc/soc-dapm.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c > index 8352430..bc2ec06 100644 > --- a/sound/soc/soc-dapm.c > +++ b/sound/soc/soc-dapm.c > @@ -706,12 +706,12 @@ static int dapm_seq_compare(struct snd_soc_dapm_widget *a, > struct snd_soc_dapm_widget *b, > int sort[]) > { > - if (a->codec != b->codec) > - return (unsigned long)a - (unsigned long)b; > if (sort[a->id] != sort[b->id]) > return sort[a->id] - sort[b->id]; > if (a->reg != b->reg) > return a->reg - b->reg; > + if (a->codec != b->codec) > + return (unsigned long)a->codec - (unsigned long)b->codec; > This sounds feasible change. What I was thinking are there any benefit which one, the register or codec is compared first but I don't think there's any practical difference. A1, B1, A2, B2 (now) or A1, A2, B1, B2 (codec comparison before register) Acked-by: Jarkko Nikula <jhnikula@xxxxxxxxx> _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel