162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci *
362306a36Sopenharmony_ci * soc-link.h
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2019 Renesas Electronics Corp.
662306a36Sopenharmony_ci * Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci#ifndef __SOC_LINK_H
962306a36Sopenharmony_ci#define __SOC_LINK_H
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciint snd_soc_link_init(struct snd_soc_pcm_runtime *rtd);
1262306a36Sopenharmony_civoid snd_soc_link_exit(struct snd_soc_pcm_runtime *rtd);
1362306a36Sopenharmony_ciint snd_soc_link_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
1462306a36Sopenharmony_ci				    struct snd_pcm_hw_params *params);
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciint snd_soc_link_startup(struct snd_pcm_substream *substream);
1762306a36Sopenharmony_civoid snd_soc_link_shutdown(struct snd_pcm_substream *substream,
1862306a36Sopenharmony_ci			   int rollback);
1962306a36Sopenharmony_ciint snd_soc_link_prepare(struct snd_pcm_substream *substream);
2062306a36Sopenharmony_ciint snd_soc_link_hw_params(struct snd_pcm_substream *substream,
2162306a36Sopenharmony_ci			   struct snd_pcm_hw_params *params);
2262306a36Sopenharmony_civoid snd_soc_link_hw_free(struct snd_pcm_substream *substream,
2362306a36Sopenharmony_ci			  int rollback);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciint snd_soc_link_trigger(struct snd_pcm_substream *substream, int cmd,
2662306a36Sopenharmony_ci			 int rollback);
2762306a36Sopenharmony_ciint snd_soc_link_compr_startup(struct snd_compr_stream *cstream);
2862306a36Sopenharmony_civoid snd_soc_link_compr_shutdown(struct snd_compr_stream *cstream,
2962306a36Sopenharmony_ci				 int rollback);
3062306a36Sopenharmony_ciint snd_soc_link_compr_set_params(struct snd_compr_stream *cstream);
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#endif /* __SOC_LINK_H */
33