ASoC: siu: convert tasklets to use new tasklet_setup() API
authorAllen Pais <allen.lkml@gmail.com>
Wed, 2 Sep 2020 04:02:18 +0000 (09:32 +0530)
committerTakashi Iwai <tiwai@suse.de>
Wed, 2 Sep 2020 11:26:15 +0000 (13:26 +0200)
In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20200902040221.354941-8-allen.lkml@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/soc/sh/siu_pcm.c

index bd9de77..50fc781 100644 (file)
@@ -198,9 +198,9 @@ static int siu_pcm_rd_set(struct siu_port *port_info,
        return 0;
 }
 
-static void siu_io_tasklet(unsigned long data)
+static void siu_io_tasklet(struct tasklet_struct *t)
 {
-       struct siu_stream *siu_stream = (struct siu_stream *)data;
+       struct siu_stream *siu_stream = from_tasklet(siu_stream, t, tasklet);
        struct snd_pcm_substream *substream = siu_stream->substream;
        struct device *dev = substream->pcm->card->dev;
        struct snd_pcm_runtime *rt = substream->runtime;
@@ -520,10 +520,8 @@ static int siu_pcm_new(struct snd_soc_component *component,
                (*port_info)->pcm = pcm;
 
                /* IO tasklets */
-               tasklet_init(&(*port_info)->playback.tasklet, siu_io_tasklet,
-                            (unsigned long)&(*port_info)->playback);
-               tasklet_init(&(*port_info)->capture.tasklet, siu_io_tasklet,
-                            (unsigned long)&(*port_info)->capture);
+               tasklet_setup(&(*port_info)->playback.tasklet, siu_io_tasklet);
+               tasklet_setup(&(*port_info)->capture.tasklet, siu_io_tasklet);
        }
 
        dev_info(card->dev, "SuperH SIU driver initialized.\n");