#include <linux/acpi.h>
#include <linux/bitmap.h>
#include <linux/device.h>
#include <linux/dmi.h>
#include <linux/module.h>
#include <linux/soundwire/sdw.h>
#include <linux/soundwire/sdw_type.h>
#include <linux/soundwire/sdw_intel.h>
#include <sound/soc-acpi.h>
#include "sof_sdw_common.h"
#include "../../codecs/rt711.h"
static unsigned long sof_sdw_quirk = …;
static int quirk_override = …;
module_param_named(quirk, quirk_override, int, 0444);
MODULE_PARM_DESC(…) …;
static void log_quirks(struct device *dev)
{ … }
static int sof_sdw_quirk_cb(const struct dmi_system_id *id)
{ … }
static const struct dmi_system_id sof_sdw_quirk_table[] = …;
static struct snd_soc_dai_link_component platform_component[] = …;
static const struct snd_soc_ops sdw_ops = …;
static const char * const type_strings[] = …;
static int create_sdw_dailink(struct snd_soc_card *card,
struct asoc_sdw_dailink *sof_dai,
struct snd_soc_dai_link **dai_links,
int *be_id, struct snd_soc_codec_conf **codec_conf)
{ … }
static int create_sdw_dailinks(struct snd_soc_card *card,
struct snd_soc_dai_link **dai_links, int *be_id,
struct asoc_sdw_dailink *sof_dais,
struct snd_soc_codec_conf **codec_conf)
{ … }
static int create_ssp_dailinks(struct snd_soc_card *card,
struct snd_soc_dai_link **dai_links, int *be_id,
struct asoc_sdw_codec_info *ssp_info,
unsigned long ssp_mask)
{ … }
static int create_dmic_dailinks(struct snd_soc_card *card,
struct snd_soc_dai_link **dai_links, int *be_id)
{ … }
static int create_hdmi_dailinks(struct snd_soc_card *card,
struct snd_soc_dai_link **dai_links, int *be_id,
int hdmi_num)
{ … }
static int create_bt_dailinks(struct snd_soc_card *card,
struct snd_soc_dai_link **dai_links, int *be_id)
{ … }
static int sof_card_dai_links_create(struct snd_soc_card *card)
{ … }
static int sof_sdw_card_late_probe(struct snd_soc_card *card)
{ … }
static int mc_probe(struct platform_device *pdev)
{ … }
static void mc_remove(struct platform_device *pdev)
{ … }
static const struct platform_device_id mc_id_table[] = …;
MODULE_DEVICE_TABLE(platform, mc_id_table);
static struct platform_driver sof_sdw_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);
MODULE_IMPORT_NS(…);