From patchwork Fri Jul 13 12:50:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 141884 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp764510ljj; Fri, 13 Jul 2018 05:50:54 -0700 (PDT) X-Google-Smtp-Source: AAOMgpezSfb0K6D9+V37D/FMQ/KLM3WjZmiS/6UkhH0D+gaVmGBIiDBWSTWgtGcSG5NTYox6kIu7 X-Received: by 2002:a62:5dd7:: with SMTP id n84-v6mr7046793pfj.68.1531486254762; Fri, 13 Jul 2018 05:50:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531486254; cv=none; d=google.com; s=arc-20160816; b=umBc2NrZ4EFmxXHPQJF2kjsH+NE4uYxg8WclrGnk+pI/9LtzPSXkCFowXjDmNP6P7A 71+g8T1E3kcXkI4AmvHXe4no7P/a6EEa67mgM8uPnApUcJnG1r6uWTfOca/0hrfzcHKH 8Om7PkwyLyT3X6zIwZQOHL6I3htxT4tF90TKPBlJ38pBEGc6kBeyPRfvvkqZpMp3O/+b bsTi6HwLMgGtM+LKNISlN2GzD31T6gfvDDtIGVWjnGruWzw6ihwV7QL5v2eGw2nJblUG feeHZYw62qSp7qUHqEmFz9ghPRdGQfDZEwSMcr1vcjklzSZgOmh9NDD6oSD+ztVQuc5N 4rJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=0/O/QzpvEbTCUwnA7IVGQZzKoegMixT19m9IgtOsXbo=; b=gAz60YiOB/IqiMpx0hbERXDmTBplOo4Uwqirgz8ggiXeRhlGxxmj+y87ZFyjT51FSl 8tGnP4GE9G6QXbjT6s2wxFlF3NVM2eAo7L3Ban/WqP9aN3G/7tF+1o68EbzvGfwnQiGH QEF3fnz/XpPHP++AuEQVYgdpQ0bMDpV21SKvJD+IQm8aej87E4i36K67xW6HZxxpq9+r 3uLIQokLtJhXPmHUTYNWAFGSZy2ep8Ztl4Re5BHDjc2arJI4djfzbTLOfMIWETED0hAh sQv+jhP+hVwXoMoLuvMgchDqnNXx5T0dSFCYvYuIQX2Kb9yh1iLDrdjMzZXLyIYHfv4z dpQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=CRpjD5IQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p4-v6si5192883pgp.299.2018.07.13.05.50.54; Fri, 13 Jul 2018 05:50:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=CRpjD5IQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731202AbeGMNFW (ORCPT + 31 others); Fri, 13 Jul 2018 09:05:22 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:53720 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729974AbeGMNFW (ORCPT ); Fri, 13 Jul 2018 09:05:22 -0400 Received: by mail-wm0-f65.google.com with SMTP id s9-v6so1395935wmh.3 for ; Fri, 13 Jul 2018 05:50:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0/O/QzpvEbTCUwnA7IVGQZzKoegMixT19m9IgtOsXbo=; b=CRpjD5IQIgQeMNEFbBAb8aJFDduT1DrI2+VtxQnh8AM863q0O+5Y9zqPZFYc8sZc8H oQwfoHSlc0BQiuHqIjcS3353bk+hNauCTGE5v894N57/btRg/cTA/s886pBCOzczcus2 /OScr5twc5jnVCdeGJPF+AHHZav2lnGBCX0IS103qsxrg6Gk7JlpahIoHgYg7WLoho3q ffG0JAkheVpigAMZUHtD1kruV6Qe93UcEadygEKNLpvIWrWMIZRv8wmuKDotgT/fZfvC 1LC77wYVWmSJ5mldnxrok1+OSYM6Ul/fR7vyMJjqU9k8SBc7GGuBrh9QhOK9BMJ+iOK5 f20w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=0/O/QzpvEbTCUwnA7IVGQZzKoegMixT19m9IgtOsXbo=; b=bdL1WYpbOzPEfpS2OBL38LUWQAsrmO+6zTGuNShe9sdDMyh5YbxvlJOXobhLlBhzOw uM6Yi6a1e7l1guY7BL/M3Cz8ItdPFgnhb2OGB2AySVdYRdfbnhm+7OR+ZaKfKiPbtapR 0AEF/Z0etJ/fN4UR5stL+Y3g71pk8IK4mSbTiYsSOrt4HpE7tb/1FydRu29FfKfeS5cg jlpVc/Up45VI0fBAn0Nm2dE4BCZ8cqCOVrGFYGuiBP+QtuPGTQ/nydDXS+aOmcnZ4+pU L7yc1zOgwRpzh56Pi80oWDCvx84AvqFxDyXtZEyBSvfR/k31G6q+5bc6PPWi3A2DgBYN uBCA== X-Gm-Message-State: AOUpUlERQQahbgJFNWzVd2PehDscsPVwG9DMTycWyiKYBU4TT6g5jYB0 UqOIyfpxzpnZUQMdbAv9DeoX6Q== X-Received: by 2002:a1c:c241:: with SMTP id s62-v6mr4073238wmf.146.1531486249399; Fri, 13 Jul 2018 05:50:49 -0700 (PDT) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id f76-v6sm8541524wme.30.2018.07.13.05.50.48 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 13 Jul 2018 05:50:48 -0700 (PDT) From: Jerome Brunet To: Mark Brown , Liam Girdwood Cc: Jerome Brunet , alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] ASoC: add DT documentation for the sound-name-prefix property Date: Fri, 13 Jul 2018 14:50:42 +0200 Message-Id: <20180713125043.13242-2-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.4 In-Reply-To: <20180713125043.13242-1-jbrunet@baylibre.com> References: <20180713125043.13242-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Jerome Brunet --- .../devicetree/bindings/sound/name-prefix.txt | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.txt -- 2.14.4 diff --git a/Documentation/devicetree/bindings/sound/name-prefix.txt b/Documentation/devicetree/bindings/sound/name-prefix.txt new file mode 100644 index 000000000000..645775908657 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/name-prefix.txt @@ -0,0 +1,24 @@ +Name prefix: + +Card implementing the routing property define the connection between +audio components as list of string pair. Component using the same +sink/source names may use the name prefix property to prepend the +name of their sinks/sources with the provided string. + +Optional name prefix property: +- sound-name-prefix : string using as prefix for the sink/source names of + the component. + +Example: Two instances of the same component. + +amp0: analog-amplifier@0 { + compatible = "simple-audio-amplifier"; + enable-gpios = <&gpio GPIOH_3 0>; + sound-name-prefix = "FRONT"; +}; + +amp1: analog-amplifier@1 { + compatible = "simple-audio-amplifier"; + enable-gpios = <&gpio GPIOH_4 0>; + sound-name-prefix = "BACK"; +}; From patchwork Fri Jul 13 12:50:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 141885 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp764525ljj; Fri, 13 Jul 2018 05:50:55 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcizwbfozWC0ZWPwuOFp0HhzizejCGaXln1nIPL01KSK0cw2wUMe/5yBzMUagDVHzJ9RdPi X-Received: by 2002:a62:5984:: with SMTP id k4-v6mr6959652pfj.116.1531486255346; Fri, 13 Jul 2018 05:50:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531486255; cv=none; d=google.com; s=arc-20160816; b=ZlGZDDpD+ZckLiG2HazOK2HPlwhFnH+Y9bYY2py/P9K/vc34mlZU4w5XJysoN6mzvq LJWZCi7g3fFevtI6Q79YLkAIThjHsktbtYqpTrn/Plsg3ai+RKXrNN/uV/18kk5B9buI mkgvHoS3ijWqyi0PNM1NQ+bF/tiBpB6Pa/k9jMDzBNnQEwuW2Ql59TkNpDaRoKdujjFM FJj43Z87C5VxHHynG+dsaG82wdw4skT/Unov1k0tcfRqitQFcGaE3IdV1M9/IAhDpugj j6Uu/539VXrgc7ffcLaO7gSDFQkQbana/qYFviweVUDm80QfRn1rIKFQg5sNumUiMvpb PzUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=5AtKow8jsYotDy005opx8iz+uph+cDuvICmcTFVjXK0=; b=GRuyFuBBArDpMSfeKTRbJ+9W1phE+Ruf9eO5KGgzrqpRNczeXopkHh6oBhnOTE3h+m rWxziJRBtHAGl6R3whZer0SjOMFWl0zJT4MjgpqH8w/xAFdPH0Mr8lqbTA5LSyQSoYy+ 3GC2JuO0PWZr1wAm++jviqlCdsZ9aSR6iR3AlyUFZCs3EDcJA12vwzHONKX934ydfUqd L1Mff2tcTDr9T8TXhUYLwJZ+0gcVEPcV66OxFD9lu2Q3ZItFM/YfjhxgseDdRBHlgiwY ZKxZHbT2w1Z/kxsDAXNsPmAeeeQfqcF4OTDnHzQB197pekBIKv4zny/QEMrBDwKSQmhu 37gw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=WMnvtPRu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p4-v6si5192883pgp.299.2018.07.13.05.50.54; Fri, 13 Jul 2018 05:50:55 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=WMnvtPRu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731397AbeGMNFY (ORCPT + 31 others); Fri, 13 Jul 2018 09:05:24 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:35152 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730595AbeGMNFX (ORCPT ); Fri, 13 Jul 2018 09:05:23 -0400 Received: by mail-wm0-f66.google.com with SMTP id a9-v6so2471503wmb.0 for ; Fri, 13 Jul 2018 05:50:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5AtKow8jsYotDy005opx8iz+uph+cDuvICmcTFVjXK0=; b=WMnvtPRueVzQbsKfBUU+LK5Ixi05eAUY1sFI674KYh1MnQPtYhvXsf8ho5jcAbP90u u8WhmXv0zXkqZGLX49eNGmQI3+UqAyHtveFQr2+UgSruONUamZTyFcYB64kkpcfLqcGr 6xlEj0ePCFhMD5meLxfhvBPWoqO75uNhZfnH50+CJ5iX58i14mKGO0QOuFI8Ccv5HkCo wN+UXvI7TfvyLeHh9JLus0Z20qH9gLb6BCJIbfTIPCcGHmg8QeSASjhsOQb7RUr26paG +vj7IObMSlS8sVTF/LMvvvy02y2n3wJkagq79rnPu4OdxH5B7p30fk90RrZjDOm2HdDu VP5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5AtKow8jsYotDy005opx8iz+uph+cDuvICmcTFVjXK0=; b=rzZovKsp0XKNnnTDIiVAF6dKReaQQ03ZBwWPIRi3lbaqo6EEEmliSsx8dHcu57NLqI 5pTJe1JtfNEXubXZn32RVzTq47jSA2REpMTsw2Xw58+Rv/4A+qaL8KsmJjUjGoqsmYqq Ao23LzboQVFU/DST4zEo4fFa2vcFujJVW6B5vsC85tG6xMMZQkS+2M5bzPxvUqB5LC14 njrwfsq/A9mwd+zASxNRUyX4wc0x4xyLyf5Kz1dzwBbnIBxWmE/IGLk8yhrWGV84psAt QZUmE+Hyuzc2lRBQojiwGS2iNx9MVLpsOemV56JXai3qxMHoB30ePsJh0y+jdB8rvASp QLpg== X-Gm-Message-State: AOUpUlGHI/BAybdLbvQMDMcATi1BLpbSZygE7MHlTEj13yj43A3G7bo8 mwu2e4Pm2O30O9xG0DcsL+RLAw== X-Received: by 2002:a1c:c904:: with SMTP id f4-v6mr4137276wmb.140.1531486250354; Fri, 13 Jul 2018 05:50:50 -0700 (PDT) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id f76-v6sm8541524wme.30.2018.07.13.05.50.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 13 Jul 2018 05:50:49 -0700 (PDT) From: Jerome Brunet To: Mark Brown , Liam Girdwood Cc: Jerome Brunet , alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] ASoC: allow soc-core to pick up name prefixes from component nodes Date: Fri, 13 Jul 2018 14:50:43 +0200 Message-Id: <20180713125043.13242-3-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.4 In-Reply-To: <20180713125043.13242-1-jbrunet@baylibre.com> References: <20180713125043.13242-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When the component does not match the configuration table provided by the card, let soc-core check the component node for a name prefix Signed-off-by: Jerome Brunet --- sound/soc/soc-core.c | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) -- 2.14.4 diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 00bd58d167dd..3be0310d5c81 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1193,15 +1193,27 @@ void snd_soc_remove_dai_link(struct snd_soc_card *card, } EXPORT_SYMBOL_GPL(snd_soc_remove_dai_link); +static void soc_set_of_name_prefix(struct snd_soc_component *component) +{ + struct device_node *component_of_node = component->dev->of_node; + const char *str; + int ret; + + if (!component_of_node && component->dev->parent) + component_of_node = component->dev->parent->of_node; + + ret = of_property_read_string(component_of_node, "sound-name-prefix", + &str); + if (!ret) + component->name_prefix = str; +} + static void soc_set_name_prefix(struct snd_soc_card *card, struct snd_soc_component *component) { int i; - if (card->codec_conf == NULL) - return; - - for (i = 0; i < card->num_configs; i++) { + for (i = 0; i < card->num_configs && card->codec_conf; i++) { struct snd_soc_codec_conf *map = &card->codec_conf[i]; struct device_node *component_of_node = component->dev->of_node; @@ -1213,8 +1225,14 @@ static void soc_set_name_prefix(struct snd_soc_card *card, if (map->dev_name && strcmp(component->name, map->dev_name)) continue; component->name_prefix = map->name_prefix; - break; + return; } + + /* + * If there is no configuration table or no match in the table, + * check if a prefix is provided in the node + */ + soc_set_of_name_prefix(component); } static int soc_probe_component(struct snd_soc_card *card,