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
12typedef int (*GRAPH2_CUSTOM)(struct simple_util_priv *priv,
13			     struct device_node *lnk,
14			     struct link_info *li);
15
16struct 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
24int audio_graph_parse_of(struct simple_util_priv *priv, struct device *dev);
25int audio_graph2_parse_of(struct simple_util_priv *priv, struct device *dev,
26			  struct graph2_custom_hooks *hooks);
27
28int audio_graph2_link_normal(struct simple_util_priv *priv,
29			     struct device_node *lnk, struct link_info *li);
30int audio_graph2_link_dpcm(struct simple_util_priv *priv,
31			   struct device_node *lnk, struct link_info *li);
32int 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