linux/sound/soc/sdw_utils/soc_sdw_utils.c

// SPDX-License-Identifier: GPL-2.0-only
// This file incorporates work covered by the following copyright notice:
// Copyright (c) 2020 Intel Corporation
// Copyright(c) 2024 Advanced Micro Devices, Inc.
/*
 *  soc-sdw-utils.c - common SoundWire machine driver helper functions
 */

#include <linux/device.h>
#include <linux/module.h>
#include <linux/soundwire/sdw.h>
#include <linux/soundwire/sdw_type.h>
#include <sound/soc_sdw_utils.h>

static const struct snd_soc_dapm_widget generic_dmic_widgets[] =;

static const struct snd_soc_dapm_widget generic_jack_widgets[] =;

static const struct snd_kcontrol_new generic_jack_controls[] =;

static const struct snd_soc_dapm_widget generic_spk_widgets[] =;

static const struct snd_kcontrol_new generic_spk_controls[] =;

static const struct snd_soc_dapm_widget maxim_widgets[] =;

static const struct snd_kcontrol_new maxim_controls[] =;

static const struct snd_soc_dapm_widget rt700_widgets[] =;

static const struct snd_kcontrol_new rt700_controls[] =;

struct asoc_sdw_codec_info codec_info_list[] =;
EXPORT_SYMBOL_NS();

int asoc_sdw_get_codec_info_list_count(void)
{
	return ARRAY_SIZE(codec_info_list);
};
EXPORT_SYMBOL_NS();

struct asoc_sdw_codec_info *asoc_sdw_find_codec_info_part(const u64 adr)
{}
EXPORT_SYMBOL_NS();

struct asoc_sdw_codec_info *asoc_sdw_find_codec_info_acpi(const u8 *acpi_id)
{}
EXPORT_SYMBOL_NS();

struct asoc_sdw_codec_info *asoc_sdw_find_codec_info_dai(const char *dai_name, int *dai_index)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_rtd_init(struct snd_soc_pcm_runtime *rtd)
{}
EXPORT_SYMBOL_NS();

/* these wrappers are only needed to avoid typecast compilation errors */
int asoc_sdw_startup(struct snd_pcm_substream *substream)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_prepare(struct snd_pcm_substream *substream)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_trigger(struct snd_pcm_substream *substream, int cmd)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_hw_params(struct snd_pcm_substream *substream,
		       struct snd_pcm_hw_params *params)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_hw_free(struct snd_pcm_substream *substream)
{}
EXPORT_SYMBOL_NS();

void asoc_sdw_shutdown(struct snd_pcm_substream *substream)
{}
EXPORT_SYMBOL_NS();

static bool asoc_sdw_is_unique_device(const struct snd_soc_acpi_link_adr *adr_link,
				      unsigned int sdw_version,
				      unsigned int mfg_id,
				      unsigned int part_id,
				      unsigned int class_id,
				      int index_in_link)
{}

const char *asoc_sdw_get_codec_name(struct device *dev,
				    const struct asoc_sdw_codec_info *codec_info,
				    const struct snd_soc_acpi_link_adr *adr_link,
				    int adr_index)
{}
EXPORT_SYMBOL_NS();

/* helper to get the link that the codec DAI is used */
struct snd_soc_dai_link *asoc_sdw_mc_find_codec_dai_used(struct snd_soc_card *card,
							 const char *dai_name)
{}
EXPORT_SYMBOL_NS();

void asoc_sdw_mc_dailink_exit_loop(struct snd_soc_card *card)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_card_late_probe(struct snd_soc_card *card)
{}
EXPORT_SYMBOL_NS();

void asoc_sdw_init_dai_link(struct device *dev, struct snd_soc_dai_link *dai_links,
			    int *be_id, char *name, int playback, int capture,
			    struct snd_soc_dai_link_component *cpus, int cpus_num,
			    struct snd_soc_dai_link_component *platform_component,
			    int num_platforms, struct snd_soc_dai_link_component *codecs,
			    int codecs_num, int (*init)(struct snd_soc_pcm_runtime *rtd),
			    const struct snd_soc_ops *ops)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_init_simple_dai_link(struct device *dev, struct snd_soc_dai_link *dai_links,
				  int *be_id, char *name, int playback, int capture,
				  const char *cpu_dai_name, const char *platform_comp_name,
				  int num_platforms, const char *codec_name,
				  const char *codec_dai_name,
				  int (*init)(struct snd_soc_pcm_runtime *rtd),
				  const struct snd_soc_ops *ops)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_count_sdw_endpoints(struct snd_soc_card *card, int *num_devs, int *num_ends)
{}
EXPORT_SYMBOL_NS();

struct asoc_sdw_dailink *asoc_sdw_find_dailink(struct asoc_sdw_dailink *dailinks,
					       const struct snd_soc_acpi_endpoint *new)
{}
EXPORT_SYMBOL_NS();

int asoc_sdw_parse_sdw_endpoints(struct snd_soc_card *card,
				 struct asoc_sdw_dailink *soc_dais,
				 struct asoc_sdw_endpoint *soc_ends,
				 int *num_devs)
{}
EXPORT_SYMBOL_NS();

MODULE_LICENSE();
MODULE_DESCRIPTION();