From patchwork Mon Jul 31 08:30:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 108980 Delivered-To: patch@linaro.org Received: by 10.140.101.44 with SMTP id t41csp2019708qge; Mon, 31 Jul 2017 01:34:12 -0700 (PDT) X-Received: by 10.84.133.162 with SMTP id f31mr16043366plf.242.1501490052767; Mon, 31 Jul 2017 01:34:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501490052; cv=none; d=google.com; s=arc-20160816; b=af0ucl2GCvKq9VkIzYj+9SZv056QWWncdAZpyeIPBkbkS3fyhd4gYUM3ZZkVZLV65V 997ex3v3oOxZQzwdfrDX9Efb5esrO4/ogzz5nSdb0GPWgD/+lGpoYmGd54OetluUgweo +NMAQf6CErd0fYu1e7uNKQMmQwnJhaaUvV+TOr2QxzCfJoCd1czQP4sabCQSEKuM5q9h mhgsg+kNsPXPm+hMoCsfv/5UbvQnIir8lcksrwB1dR5duoUW66Ao84U4oxmnFeE57poR a9MfWXJfo1EJ9rRjsn//Fu4wmCHO2oBu4gpwUwTW4EhvzbK/AADJo7t8f3i/mkvFXq6i xOng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=oyIlQXPmmDGsWC6QwHdRM+rbFAkLBw2qA5t86V/ITnQ=; b=VNkowfdH54YQS2q1LtJOZLVRiifyy/ym8q3G8Nni4EKO6nSbv1ezZiWNq2QD9yn2sx EEWUS6liptGQBzfnqMtc+ammT8ibMOymtr8daxu5f1lPRcDMSlQdX3WkrI7WH0UYKkk5 qsf4lmY259UFwitxpLdmHXXvyH8KaeBBWevK4+1hgXOkgjEP5sOOeyX+NTQwdXg7Zsa0 WeQ+kmdfSuzmhVR50Epf3Qlm4Npvfr96dlDjwWPq26QTFrvN7ZciGhiD1oI6lWL/5Id3 7PEyvgocBfDRHRJnxjcmIGdWemWCyt/MPop4cNn2tktwEmU+0La06txuWw9XcGEb9tp6 rucw== ARC-Authentication-Results: i=1; mx.google.com; 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 l190si15780353pfc.459.2017.07.31.01.34.12; Mon, 31 Jul 2017 01:34:12 -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; 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 S1751834AbdGaIeK (ORCPT + 26 others); Mon, 31 Jul 2017 04:34:10 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:59531 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750969AbdGaIeI (ORCPT ); Mon, 31 Jul 2017 04:34:08 -0400 Received: from wuerfel.lan ([78.43.238.10]) by mrelayeu.kundenserver.de (mreue003 [212.227.15.129]) with ESMTPA (Nemesis) id 0MeOiZ-1dCSvR1LbT-00QCFc; Mon, 31 Jul 2017 10:32:22 +0200 From: Arnd Bergmann To: Liam Girdwood , Mark Brown Cc: Harsha Priya N , Vinod Koul , Hsin-yu Chao , Naveen M , Arnd Bergmann , Jaroslav Kysela , Takashi Iwai , Heiko Stuebner , Matthias Brugger , Charles Keepax , Ryder Lee , Xing Zheng , Sugar Zhang , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH] ASoC: improve RT5514 dependencies Date: Mon, 31 Jul 2017 10:30:55 +0200 Message-Id: <20170731083217.4142512-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:cV1lBy9PQrAlYToDR8JWdz5TtO45pvi5k2//gRqCKZIrG3rZCPx NGn/z6vMNazB4STUIJoB++srqcQ6XOBirD9oINpIsv+h7pnLxpNlYN7Ys9p44FbqwJ6MTHl tYuOb5MujFcwbt/DZWy4i3WoUf70+8/3775OGy+YLww2XlbilcbVMMfjtopGlmlMmjflDpC mQIUNMr8+4XCmBGzp06hw== X-UI-Out-Filterresults: notjunk:1; V01:K0:4pI0nk0iakc=:MVzWKn6XE6gP1S/m81+vt1 34deTUg5AiiDSH6Dda4BEKc8LTYDv6GT7B8bjZ/hcgO6JkBrwFbzmZNazIHTHAPSO4IgMBIgR UyHHpWktsoZpIv42MhD2ZxAMFhI0OAyjNbhdrOzq5RvjFJ6UTY5PCOZxmL4ZfENEKI6FNqyGo wZxYsc3lPJ82f3RFOJLTvgJRiD20iVddHlpUbToescxySbd+iv+7Vlf7N3mPyo4voVEzzBgY6 DP7pEIks+0tCkbEmG53twqfQY6Dxc/YEOu9U+y18EYPZYaDc4P+WTz1MkRmMpM+ncvnwZ/QPY 3EeVI1PS3mbJ8eCCEq76ZoGUFXL6rxtoVOto4BDrCVDbWZcp6q06qB3C7YiFIH8dID9SyctEJ 6/7NRMCUbrFlCCRlK6KTfaxdym2OIGT+utrw48Du8IIyv0pkjE+2dOPUN9Wvo8XxaFgySCtEd JiYS3oMoRFwV3ZkYQFOXzRp8ujY/flooS5yS8zcwbn/OT+0sV23D0KQ7O9K2jkAvIKkzsYhV9 tpjtiYTgPC0arf88uugb6j72jZ17rWErgr45YXlZPoiSEc2w4cq+xVa0x6jt986FFXCef33rh MLfgNOvWGsrOjSIQDRV9bJ7jVsBy+8ZaoOd0PD+a42ZTu3P/fRpfIyzRT+UwEfbOEaT1m35MM fd4223K8np9CYpb0cckmucyEQHy1KuwBtT3MOd2gN9kS9ZmUN/fdvdk3VnrULp0s3ikzC2veU y0WIzMEvG8IO+OryulQSuSAuIVEsza0w3CU1yA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org With SND_SOC_RT5514_SPI=m and SND_SOC_RT5514=y, we get this link error: sound/soc/codecs/rt5514.o: In function `rt5514_dsp_voice_wake_up_put': rt5514.c:(.text+0x2068): undefined reference to `rt5514_spi_burst_write' rt5514.c:(.text+0x20c8): undefined reference to `rt5514_spi_burst_write' This adds another Kconfig symbol to work around the link error, forcing the main driver to be a loadable module as well if some other driver selects the I2C side to be built-in. Fixes: 2a18483a7fb4 ("ASoC: Intel: Add Kabylake machine driver for RT5514, RT5663 and MAX98927") Signed-off-by: Arnd Bergmann --- This can now lead to a configuration with SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=y and SND_SOC_RT5514=m. I don't know if that is a problem or not. An alternative approach would be to flip the dependency between rt5514_spi.ko and rt5514.ko and avoid having the rt5514_spi_burst_write symbol exported. --- sound/soc/codecs/Kconfig | 7 ++++++- sound/soc/intel/Kconfig | 2 +- sound/soc/mediatek/Kconfig | 2 +- sound/soc/rockchip/Kconfig | 1 - 4 files changed, 8 insertions(+), 4 deletions(-) -- 2.9.0 diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 024ddc9938ed..115c6144ca2a 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -117,7 +117,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_RT274 if I2C select SND_SOC_RT286 if I2C select SND_SOC_RT298 if I2C - select SND_SOC_RT5514 if I2C + select SND_SOC_RT5514_I2C if I2C select SND_SOC_RT5616 if I2C select SND_SOC_RT5631 if I2C select SND_SOC_RT5640 if I2C @@ -738,6 +738,11 @@ config SND_SOC_RT298 config SND_SOC_RT5514 tristate + default m if SND_SOC_RT5514_SPI=m + default SND_SOC_RT5514_I2C || SND_SOC_RT5514_SPI + +config SND_SOC_RT5514_I2C + tristate config SND_SOC_RT5514_SPI tristate diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig index b301bfff1c09..f5ef912190ed 100644 --- a/sound/soc/intel/Kconfig +++ b/sound/soc/intel/Kconfig @@ -259,7 +259,7 @@ config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH select SND_SOC_INTEL_SST select SND_SOC_INTEL_SKYLAKE select SND_SOC_RT5663 - select SND_SOC_RT5514 + select SND_SOC_RT5514_I2C select SND_SOC_MAX98927 select SND_SOC_HDAC_HDMI help diff --git a/sound/soc/mediatek/Kconfig b/sound/soc/mediatek/Kconfig index 5c68797f36c4..6ccf73ae77ca 100644 --- a/sound/soc/mediatek/Kconfig +++ b/sound/soc/mediatek/Kconfig @@ -67,7 +67,7 @@ config SND_SOC_MT8173_RT5650_RT5514 tristate "ASoC Audio driver for MT8173 with RT5650 RT5514 codecs" depends on SND_SOC_MT8173 && I2C select SND_SOC_RT5645 - select SND_SOC_RT5514 + select SND_SOC_RT5514_I2C help This adds ASoC driver for Mediatek MT8173 boards with the RT5650 and RT5514 codecs. diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig index c84487805876..c1139aecdfbe 100644 --- a/sound/soc/rockchip/Kconfig +++ b/sound/soc/rockchip/Kconfig @@ -65,7 +65,6 @@ config SND_SOC_RK3399_GRU_SOUND depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && CLKDEV_LOOKUP && SPI select SND_SOC_ROCKCHIP_I2S select SND_SOC_MAX98357A - select SND_SOC_RT5514 select SND_SOC_DA7219 select SND_SOC_RT5514_SPI help