Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.git] / include / sound / graph_card.h
CommitLineData
e32b100b
SP
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
b5a95c5b 12typedef int (*GRAPH2_CUSTOM)(struct simple_util_priv *priv,
6e5f68fe
KM
13 struct device_node *lnk,
14 struct link_info *li);
15
16struct graph2_custom_hooks {
b5a95c5b
KM
17 int (*hook_pre)(struct simple_util_priv *priv);
18 int (*hook_post)(struct simple_util_priv *priv);
6e5f68fe 19 GRAPH2_CUSTOM custom_normal;
f03beb55 20 GRAPH2_CUSTOM custom_dpcm;
c3a15c92 21 GRAPH2_CUSTOM custom_c2c;
6e5f68fe
KM
22};
23
b5a95c5b
KM
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,
6e5f68fe
KM
26 struct graph2_custom_hooks *hooks);
27
b5a95c5b 28int audio_graph2_link_normal(struct simple_util_priv *priv,
6e5f68fe 29 struct device_node *lnk, struct link_info *li);
b5a95c5b 30int audio_graph2_link_dpcm(struct simple_util_priv *priv,
f03beb55 31 struct device_node *lnk, struct link_info *li);
b5a95c5b 32int audio_graph2_link_c2c(struct simple_util_priv *priv,
c3a15c92 33 struct device_node *lnk, struct link_info *li);
6e4ea8aa 34
e32b100b 35#endif /* __GRAPH_CARD_H */