snd_soc_dai_set_drvdata is not needed when the set data comes from
snd_soc_dai_get_drvdata or dev_get_drvdata.  The problem was fixed
usingthe following semantic patch: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,y,e;
@@
        x = dev_get_drvdata(y->dev)
        ... when != x = e
-       snd_soc_dai_set_drvdata(y,x);

@@
expression x,y,e;
@@
        x = snd_soc_dai_get_drvdata(y)
        ... when != x = e
-       snd_soc_dai_set_drvdata(y,x);
// </smpl>

Signed-off-by: Julia Lawall <julia.law...@inria.fr>

---
 sound/soc/pxa/mmp-sspa.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/sound/soc/pxa/mmp-sspa.c b/sound/soc/pxa/mmp-sspa.c
index 4803972ee655..7e39210a0b38 100644
--- a/sound/soc/pxa/mmp-sspa.c
+++ b/sound/soc/pxa/mmp-sspa.c
@@ -330,7 +330,6 @@ static int mmp_sspa_probe(struct snd_soc_dai *dai)
                                &sspa->playback_dma_data,
                                &sspa->capture_dma_data);
 
-       snd_soc_dai_set_drvdata(dai, sspa);
        return 0;
 }
 

Reply via email to