rsnd_mod_write(mod, CMD_ROUTE_SLCT, data);
 
+       rsnd_adg_set_cmd_timsel_gen2(mod, io);
+
+       return 0;
+}
+
+static int rsnd_cmd_start(struct rsnd_mod *mod,
+                         struct rsnd_dai_stream *io,
+                         struct rsnd_priv *priv)
+{
        rsnd_mod_write(mod, CMD_CTRL, 0x10);
 
        return 0;
 }
 
+static int rsnd_cmd_stop(struct rsnd_mod *mod,
+                        struct rsnd_dai_stream *io,
+                        struct rsnd_priv *priv)
+{
+       rsnd_mod_write(mod, CMD_CTRL, 0);
+
+       return 0;
+}
+
 static struct rsnd_mod_ops rsnd_cmd_ops = {
        .name   = CMD_NAME,
        .init   = rsnd_cmd_init,
+       .start  = rsnd_cmd_start,
+       .stop   = rsnd_cmd_stop,
 };
 
 int rsnd_cmd_attach(struct rsnd_dai_stream *io, int id)
 
        /* ch0/ch1 Volume */
        rsnd_dvc_volume_update(io, mod);
 
-       rsnd_adg_set_cmd_timsel_gen2(mod, io);
+       rsnd_dvc_initialize_unlock(mod);
 
        return 0;
 }
        return 0;
 }
 
-static int rsnd_dvc_start(struct rsnd_mod *mod,
-                         struct rsnd_dai_stream *io,
-                         struct rsnd_priv *priv)
-{
-       rsnd_dvc_initialize_unlock(mod);
-
-       rsnd_mod_write(mod, CMD_CTRL, 0x10);
-
-       return 0;
-}
-
-static int rsnd_dvc_stop(struct rsnd_mod *mod,
-                        struct rsnd_dai_stream *io,
-                        struct rsnd_priv *priv)
-{
-       rsnd_mod_write(mod, CMD_CTRL, 0);
-
-       return 0;
-}
-
 static int rsnd_dvc_pcm_new(struct rsnd_mod *mod,
                            struct rsnd_dai_stream *io,
                            struct snd_soc_pcm_runtime *rtd)
        .remove         = rsnd_dvc_remove_,
        .init           = rsnd_dvc_init,
        .quit           = rsnd_dvc_quit,
-       .start          = rsnd_dvc_start,
-       .stop           = rsnd_dvc_stop,
        .pcm_new        = rsnd_dvc_pcm_new,
 };