}
 }
 
-int rsnd_mod_is_working(struct rsnd_mod *mod)
+int rsnd_io_is_working(struct rsnd_dai_stream *io)
 {
-       struct rsnd_dai_stream *io = rsnd_mod_to_io(mod);
-
        /* see rsnd_dai_stream_init/quit() */
        return !!io->substream;
 }
 
         */
        spin_lock_irqsave(&priv->lock, flags);
 
-       if (rsnd_mod_is_working(mod))
+       if (rsnd_io_is_working(io))
                elapsed = rsnd_dai_pointer_update(io, io->byte_per_period);
 
        spin_unlock_irqrestore(&priv->lock, flags);
 
                   int id);
 void rsnd_mod_quit(struct rsnd_mod *mod);
 char *rsnd_mod_name(struct rsnd_mod *mod);
-int rsnd_mod_is_working(struct rsnd_mod *mod);
 struct dma_chan *rsnd_mod_dma_req(struct rsnd_dai_stream *io,
                                  struct rsnd_mod *mod);
 void rsnd_mod_interrupt(struct rsnd_mod *mod,
 #define rsnd_io_is_play(io)    (&rsnd_io_to_rdai(io)->playback == io)
 #define rsnd_io_to_runtime(io) ((io)->substream ? \
                                (io)->substream->runtime : NULL)
-
+int rsnd_io_is_working(struct rsnd_dai_stream *io);
 
 struct rsnd_dai {
        char name[RSND_DAI_NAME_SIZE];
 
        spin_lock(&priv->lock);
 
        /* ignore all cases if not working */
-       if (!rsnd_mod_is_working(mod))
+       if (!rsnd_io_is_working(io))
                goto rsnd_src_interrupt_gen2_out;
 
        if (rsnd_src_error_record_gen2(mod)) {
 
        spin_lock(&priv->lock);
 
        /* ignore all cases if not working */
-       if (!rsnd_mod_is_working(mod))
+       if (!rsnd_io_is_working(io))
                goto rsnd_ssi_interrupt_out;
 
        status = rsnd_mod_read(mod, SSISR);