#ifndef __LINUX_SND_SOC_TPLG_H
#define __LINUX_SND_SOC_TPLG_H
#include <sound/asoc.h>
#include <linux/list.h>
struct firmware;
struct snd_kcontrol;
struct snd_soc_tplg_pcm_be;
struct snd_ctl_elem_value;
struct snd_ctl_elem_info;
struct snd_soc_dapm_widget;
struct snd_soc_component;
struct snd_soc_tplg_pcm_fe;
struct snd_soc_dapm_context;
struct snd_soc_card;
struct snd_kcontrol_new;
struct snd_soc_dai_link;
struct snd_soc_dai_driver;
struct snd_soc_dai;
struct snd_soc_dapm_route;
enum snd_soc_dobj_type { … };
struct snd_soc_dobj_control { … };
struct snd_soc_dobj_widget { … };
struct snd_soc_dobj { … };
struct snd_soc_tplg_kcontrol_ops { … };
struct snd_soc_tplg_bytes_ext_ops { … };
struct snd_soc_tplg_widget_events { … };
struct snd_soc_tplg_ops { … };
#ifdef CONFIG_SND_SOC_TOPOLOGY
static inline const void *snd_soc_tplg_get_data(struct snd_soc_tplg_hdr *hdr)
{ … }
int snd_soc_tplg_component_load(struct snd_soc_component *comp,
const struct snd_soc_tplg_ops *ops, const struct firmware *fw);
int snd_soc_tplg_component_remove(struct snd_soc_component *comp);
int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget *w,
const struct snd_soc_tplg_widget_events *events, int num_events,
u16 event_type);
#else
static inline int snd_soc_tplg_component_remove(struct snd_soc_component *comp)
{
return 0;
}
#endif
#endif