xref: /linux/include/sound/graph_card.h (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1  /* SPDX-License-Identifier: GPL-2.0
2   *
3   * ASoC audio graph card support
4   *
5   */
6  
7  #ifndef __GRAPH_CARD_H
8  #define __GRAPH_CARD_H
9  
10  #include <sound/simple_card_utils.h>
11  
12  typedef int (*GRAPH2_CUSTOM)(struct simple_util_priv *priv,
13  			     struct device_node *lnk,
14  			     struct link_info *li);
15  
16  struct graph2_custom_hooks {
17  	int (*hook_pre)(struct simple_util_priv *priv);
18  	int (*hook_post)(struct simple_util_priv *priv);
19  	GRAPH2_CUSTOM custom_normal;
20  	GRAPH2_CUSTOM custom_dpcm;
21  	GRAPH2_CUSTOM custom_c2c;
22  };
23  
24  int audio_graph_parse_of(struct simple_util_priv *priv, struct device *dev);
25  int audio_graph2_parse_of(struct simple_util_priv *priv, struct device *dev,
26  			  struct graph2_custom_hooks *hooks);
27  
28  int audio_graph2_link_normal(struct simple_util_priv *priv,
29  			     struct device_node *lnk, struct link_info *li);
30  int audio_graph2_link_dpcm(struct simple_util_priv *priv,
31  			   struct device_node *lnk, struct link_info *li);
32  int audio_graph2_link_c2c(struct simple_util_priv *priv,
33  			  struct device_node *lnk, struct link_info *li);
34  
35  #endif /* __GRAPH_CARD_H */
36