linux/sound/soc/generic/audio-graph-card.c

// SPDX-License-Identifier: GPL-2.0
//
// ASoC audio graph sound card support
//
// Copyright (C) 2016 Renesas Solutions Corp.
// Kuninori Morimoto <[email protected]>
//
// based on ${LINUX}/sound/soc/generic/simple-card.c

#include <linux/cleanup.h>
#include <linux/clk.h>
#include <linux/device.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/platform_device.h>
#include <linux/string.h>
#include <sound/graph_card.h>

#define DPCM_SELECTABLE

#define ep_to_port(ep)
static struct device_node *port_to_ports(struct device_node *port)
{}

static int graph_outdrv_event(struct snd_soc_dapm_widget *w,
			      struct snd_kcontrol *kcontrol,
			      int event)
{}

static const struct snd_soc_dapm_widget graph_dapm_widgets[] =;

static const struct snd_soc_ops graph_ops =;

static bool soc_component_is_pcm(struct snd_soc_dai_link_component *dlc)
{}

static void graph_parse_convert(struct device *dev,
				struct device_node *ep,
				struct simple_util_data *adata)
{}

static int graph_parse_node(struct simple_util_priv *priv,
			    struct device_node *ep,
			    struct link_info *li,
			    int *cpu)
{}

static int graph_link_init(struct simple_util_priv *priv,
			   struct device_node *ep_cpu,
			   struct device_node *ep_codec,
			   struct link_info *li,
			   char *name)
{}

static int graph_dai_link_of_dpcm(struct simple_util_priv *priv,
				  struct device_node *cpu_ep,
				  struct device_node *codec_ep,
				  struct link_info *li)
{}

static int graph_dai_link_of(struct simple_util_priv *priv,
			     struct device_node *cpu_ep,
			     struct device_node *codec_ep,
			     struct link_info *li)
{}

static inline bool parse_as_dpcm_link(struct simple_util_priv *priv,
				      struct device_node *codec_port,
				      struct simple_util_data *adata)
{}

static int __graph_for_each_link(struct simple_util_priv *priv,
			struct link_info *li,
			int (*func_noml)(struct simple_util_priv *priv,
					 struct device_node *cpu_ep,
					 struct device_node *codec_ep,
					 struct link_info *li),
			int (*func_dpcm)(struct simple_util_priv *priv,
					 struct device_node *cpu_ep,
					 struct device_node *codec_ep,
					 struct link_info *li))
{}

static int graph_for_each_link(struct simple_util_priv *priv,
			       struct link_info *li,
			       int (*func_noml)(struct simple_util_priv *priv,
						struct device_node *cpu_ep,
						struct device_node *codec_ep,
						struct link_info *li),
			       int (*func_dpcm)(struct simple_util_priv *priv,
						struct device_node *cpu_ep,
						struct device_node *codec_ep,
						struct link_info *li))
{}

static int graph_count_noml(struct simple_util_priv *priv,
			    struct device_node *cpu_ep,
			    struct device_node *codec_ep,
			    struct link_info *li)
{}

static int graph_count_dpcm(struct simple_util_priv *priv,
			    struct device_node *cpu_ep,
			    struct device_node *codec_ep,
			    struct link_info *li)
{}

static int graph_get_dais_count(struct simple_util_priv *priv,
				struct link_info *li)
{}

int audio_graph_parse_of(struct simple_util_priv *priv, struct device *dev)
{}
EXPORT_SYMBOL_GPL();

static int graph_probe(struct platform_device *pdev)
{}

static const struct of_device_id graph_of_match[] =;
MODULE_DEVICE_TABLE(of, graph_of_match);

static struct platform_driver graph_card =;
module_platform_driver();

MODULE_ALIAS();
MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_AUTHOR();