1 // SPDX-License-Identifier: GPL-2.0-only 2 // This file incorporates work covered by the following copyright notice: 3 // Copyright (c) 2023 Intel Corporation 4 // Copyright (c) 2024 Advanced Micro Devices, Inc. 5 6 /* 7 * soc_sdw_rt722_sdca - Helpers to handle RT722-SDCA from generic machine driver 8 */ 9 10 #include <linux/device.h> 11 #include <linux/errno.h> 12 #include <linux/soundwire/sdw.h> 13 #include <linux/soundwire/sdw_type.h> 14 #include <sound/control.h> 15 #include <sound/soc.h> 16 #include <sound/soc-acpi.h> 17 #include <sound/soc-dapm.h> 18 #include <sound/soc_sdw_utils.h> 19 20 static const struct snd_soc_dapm_route rt722_spk_map[] = { 21 { "Speaker", NULL, "rt722 SPK" }, 22 }; 23 24 int asoc_sdw_rt722_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai) 25 { 26 struct snd_soc_card *card = rtd->card; 27 int ret; 28 29 card->components = devm_kasprintf(card->dev, GFP_KERNEL, 30 "%s spk:rt722", 31 card->components); 32 if (!card->components) 33 return -ENOMEM; 34 35 ret = snd_soc_dapm_add_routes(&card->dapm, rt722_spk_map, ARRAY_SIZE(rt722_spk_map)); 36 if (ret) 37 dev_err(rtd->dev, "failed to add rt722 spk map: %d\n", ret); 38 39 return ret; 40 } 41 EXPORT_SYMBOL_NS(asoc_sdw_rt722_spk_rtd_init, SND_SOC_SDW_UTILS); 42
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.