#include "rsnd.h"
#define SSIU_NAME …
struct rsnd_ssiu { … };
#define TDM_EXT …
#define TDM_SPLIT …
#define rsnd_ssiu_nr(priv) …
#define rsnd_mod_to_ssiu(_mod) …
#define for_each_rsnd_ssiu(pos, priv, i) …
static const int gen2_id[] = …;
static const int gen3_id[] = …;
static const int gen4_id[] = …;
#define rsnd_ssiu_busif_err_irq_enable(mod) …
#define rsnd_ssiu_busif_err_irq_disable(mod) …
static void rsnd_ssiu_busif_err_irq_ctrl(struct rsnd_mod *mod, int enable)
{ … }
bool rsnd_ssiu_busif_err_status_clear(struct rsnd_mod *mod)
{ … }
static u32 *rsnd_ssiu_get_status(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
enum rsnd_mod_type type)
{ … }
static int rsnd_ssiu_init(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct rsnd_priv *priv)
{ … }
static int rsnd_ssiu_quit(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct rsnd_priv *priv)
{ … }
static struct rsnd_mod_ops rsnd_ssiu_ops_gen1 = …;
static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct rsnd_priv *priv)
{ … }
static int rsnd_ssiu_start_gen2(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct rsnd_priv *priv)
{ … }
static int rsnd_ssiu_stop_gen2(struct rsnd_mod *mod,
struct rsnd_dai_stream *io,
struct rsnd_priv *priv)
{ … }
static int rsnd_ssiu_id(struct rsnd_mod *mod)
{ … }
static int rsnd_ssiu_id_sub(struct rsnd_mod *mod)
{ … }
static struct dma_chan *rsnd_ssiu_dma_req(struct rsnd_dai_stream *io,
struct rsnd_mod *mod)
{ … }
#ifdef CONFIG_DEBUG_FS
static void rsnd_ssiu_debug_info(struct seq_file *m,
struct rsnd_dai_stream *io,
struct rsnd_mod *mod)
{ … }
#define DEBUG_INFO …
#else
#define DEBUG_INFO
#endif
static struct rsnd_mod_ops rsnd_ssiu_ops_gen2 = …;
static struct rsnd_mod *rsnd_ssiu_mod_get(struct rsnd_priv *priv, int id)
{ … }
static void rsnd_parse_connect_ssiu_compatible(struct rsnd_priv *priv,
struct rsnd_dai_stream *io)
{ … }
void rsnd_parse_connect_ssiu(struct rsnd_dai *rdai,
struct device_node *playback,
struct device_node *capture)
{ … }
int rsnd_ssiu_probe(struct rsnd_priv *priv)
{ … }
void rsnd_ssiu_remove(struct rsnd_priv *priv)
{ … }