linux/sound/soc/codecs/hdac_hda.c

// SPDX-License-Identifier: GPL-2.0
// Copyright(c) 2015-18 Intel Corporation.

/*
 * hdac_hda.c - ASoC extensions to reuse the legacy HDA codec drivers
 * with ASoC platform drivers. These APIs are called by the legacy HDA
 * codec drivers using hdac_ext_bus_ops ops.
 */

#include <linux/firmware.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/hdaudio_ext.h>
#include <sound/hda_i915.h>
#include <sound/hda_codec.h>
#include <sound/hda_register.h>

#include "hdac_hda.h"

#define STUB_FORMATS

#define STUB_HDMI_RATES

#ifdef CONFIG_SND_HDA_PATCH_LOADER
static char *loadable_patch[HDA_MAX_CODECS];

module_param_array_named();
MODULE_PARM_DESC();
#endif

static int hdac_hda_dai_open(struct snd_pcm_substream *substream,
			     struct snd_soc_dai *dai);
static void hdac_hda_dai_close(struct snd_pcm_substream *substream,
			       struct snd_soc_dai *dai);
static int hdac_hda_dai_prepare(struct snd_pcm_substream *substream,
				struct snd_soc_dai *dai);
static int hdac_hda_dai_hw_params(struct snd_pcm_substream *substream,
				  struct snd_pcm_hw_params *params,
				  struct snd_soc_dai *dai);
static int hdac_hda_dai_hw_free(struct snd_pcm_substream *substream,
				struct snd_soc_dai *dai);
static int hdac_hda_dai_set_stream(struct snd_soc_dai *dai, void *stream,
				   int direction);
static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt,
						 struct snd_soc_dai *dai);

static const struct snd_soc_dai_ops hdac_hda_dai_ops =;

static struct snd_soc_dai_driver hdac_hda_dais[] =;

static struct snd_soc_dai_driver hdac_hda_hdmi_dais[] =;

static int hdac_hda_dai_set_stream(struct snd_soc_dai *dai,
				   void *stream, int direction)
{}

static int hdac_hda_dai_hw_params(struct snd_pcm_substream *substream,
				  struct snd_pcm_hw_params *params,
				  struct snd_soc_dai *dai)
{}

static int hdac_hda_dai_hw_free(struct snd_pcm_substream *substream,
				struct snd_soc_dai *dai)
{}

static int hdac_hda_dai_prepare(struct snd_pcm_substream *substream,
				struct snd_soc_dai *dai)
{}

static int hdac_hda_dai_open(struct snd_pcm_substream *substream,
			     struct snd_soc_dai *dai)
{}

static void hdac_hda_dai_close(struct snd_pcm_substream *substream,
			       struct snd_soc_dai *dai)
{}

static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt,
						 struct snd_soc_dai *dai)
{}

static bool is_hdmi_codec(struct hda_codec *hcodec)
{}

static int hdac_hda_codec_probe(struct snd_soc_component *component)
{}

static void hdac_hda_codec_remove(struct snd_soc_component *component)
{}

static const struct snd_soc_dapm_route hdac_hda_dapm_routes[] =;

static const struct snd_soc_dapm_widget hdac_hda_dapm_widgets[] =;

static const struct snd_soc_component_driver hdac_hda_codec =;

static const struct snd_soc_component_driver hdac_hda_hdmi_codec =;

static int hdac_hda_dev_probe(struct hdac_device *hdev)
{}

static int hdac_hda_dev_remove(struct hdac_device *hdev)
{}

static struct hdac_ext_bus_ops hdac_ops =;

struct hdac_ext_bus_ops *snd_soc_hdac_hda_get_ops(void)
{}
EXPORT_SYMBOL_GPL();

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