1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (c) 2023 Intel Corporation 3 4 /* 5 * sof_sdw_rt712_sdca - Helpers to handle RT712-SDCA from generic machine driver 6 */ 7 8 #include <linux/device.h> 9 #include <linux/errno.h> 10 #include <linux/soundwire/sdw.h> 11 #include <linux/soundwire/sdw_type.h> 12 #include <sound/control.h> 13 #include <sound/soc.h> 14 #include <sound/soc-acpi.h> 15 #include <sound/soc-dapm.h> 16 #include "sof_sdw_common.h" 17 18 /* 19 * dapm routes for rt712 spk will be registered dynamically according 20 * to the number of rt712 spk used. The first two entries will be registered 21 * for one codec case, and the last two entries are also registered 22 * if two rt712s are used. 23 */ 24 static const struct snd_soc_dapm_route rt712_spk_map[] = { 25 { "Speaker", NULL, "rt712 SPOL" }, 26 { "Speaker", NULL, "rt712 SPOR" }, 27 }; 28 29 int rt712_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai) 30 { 31 struct snd_soc_card *card = rtd->card; 32 int ret; 33 34 card->components = devm_kasprintf(card->dev, GFP_KERNEL, 35 "%s spk:rt712", 36 card->components); 37 if (!card->components) 38 return -ENOMEM; 39 40 ret = snd_soc_dapm_add_routes(&card->dapm, rt712_spk_map, ARRAY_SIZE(rt712_spk_map)); 41 if (ret) 42 dev_err(rtd->dev, "failed to add SPK map: %d\n", ret); 43 44 return ret; 45 } 46 47
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.