From patchwork Tue Dec 5 13:10:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 120647 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp5731040qgn; Tue, 5 Dec 2017 05:12:54 -0800 (PST) X-Google-Smtp-Source: AGs4zMaSh0TS+l1C4ECVrZN1O7kIaH6zao9aQB7BWwQc73Z8g9Jl0T/w7FxL/nWYwiamn0HzJluD X-Received: by 10.98.193.1 with SMTP id i1mr23364225pfg.29.1512479574585; Tue, 05 Dec 2017 05:12:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512479574; cv=none; d=google.com; s=arc-20160816; b=WADyRZCVZhdt9uABTSNN9gRFK2k1xV3PHTOT/FKmVRC8qCeaKP2oJb1ZxAVrG1Ksv9 2kIa6vCw0FJ9cs8ddJBjt4Daoj0irDSePCHMPqxIDm49VLt4ohrYCOMoC4pPlbNmHbCv KqJivZjPWaBe2G5UwgMcGv01AdqUesA7pTSW2t/q0vTf51ShdjD7gJ8CAn8Yeh+mdN9f qry434wMwBwjrz53Ffswxt/TELujWbKnh1yW6pyLJakktueag6Vw0LlSjAJ9yLAz/D1s C3uFJMemy4LP9B++0eWgQ0wlMSnB90hivZudKMcAvj7jPyt3GrjA8K+BY6OgczBezkkm 5y8g== 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=bc99rj9F4Yiq/EOUNoJW2pOZyccSbC8O3s7jrqrmJLc=; b=JqpGAhOlMYzX9Kb78BRHq92k4AoI5RxUwTnqAv5La+4iFljogtkLgN6ikKfCXtbNuY XtuKmjuU8qZE7Ct1P5xetvAajLmqFjfbSzx08yQS/p+1nCdwzY62WdgSP4sIMV4eg8Vo AWV3lyH703ZF+VB8bgymqa9VVxxQNG9++YzkVH/VFfNxf1fIqb7FUdndwAWJwFHx2h3v 7tF/3RMFbdtgYM6yikSx9PuKdCvcr99nr+naDW51SL7SQGM5zB4HOHarAYNXwIReX2OG 7Ld7MBohH4xFRN4+2wwzV7ap/wu5Bi26jRkkgJ14tp1wzNVDZvI6QGiyQB70wPPZV+/h xHEw== 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 v77si76774pfa.223.2017.12.05.05.12.54; Tue, 05 Dec 2017 05:12:54 -0800 (PST) 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 S1752713AbdLENMw (ORCPT + 28 others); Tue, 5 Dec 2017 08:12:52 -0500 Received: from mout.kundenserver.de ([212.227.126.130]:61180 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752176AbdLENMu (ORCPT ); Tue, 5 Dec 2017 08:12:50 -0500 Received: from wuerfel.lan ([149.172.96.106]) by mrelayeu.kundenserver.de (mreue003 [212.227.15.129]) with ESMTPA (Nemesis) id 0MPbvB-1eQrpX0elF-004mEj; Tue, 05 Dec 2017 14:10:38 +0100 From: Arnd Bergmann To: Nicolas Ferre , Mark Brown , Alexandre Belloni Cc: Arnd Bergmann , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , alsa-devel@alsa-project.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] [v2] ASoC: atmel-classd: improve Kconfig dependencies Date: Tue, 5 Dec 2017 14:10:11 +0100 Message-Id: <20171205131022.2082003-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:bNCgij3i59ZXyibT5Al+7Xf4xUP94aVcm8wRqkouIG4oCB7hvo0 Bbe0abFjtHtmfNTMfDdoH9zpzjoLDZAOxSvA6SjIZ63tc0QN/LRIvB346HGLLotivwQnYcy wREsk1cA4cHfuRgmooFltSsHlr8MLHUB5uh0nWxnKhSpQS4FT7mGpwu+HMX4oxEHCdQXRK8 Jy0DhRsNMzMT9ypQcD6rw== X-UI-Out-Filterresults: notjunk:1; V01:K0:5kxXkxkhjpQ=:rgdS7mx7RqOeGZLJic4yoZ HpBfA3zgxcg7eYZlT8DlSYFM3mYBup+/+FbnpCT+UGvyXRzo0YYdBdXkm+C7R0+L/LKOLbrFU mO6I4vh6lRz4nM9j3NnmRaQg6m5uPE8pJEDhlD/PcxgBay38pQdeTdYs+qfy8F/1wOGp1UIEk +3YVeZB7ht3yuvMwLWuZzTByo5zQfTyrZBSwwEtIijP12jt7Q7JT/gnB0DuNTJOr5DW+q04W3 8WChWK+GmZjsorpppOiJcmGQlcKaa6USlCEwgVC7U61DyiUtnhIjM3bUPCzFbaugQnncdgdpW DfdBXWa22YH1u53ASxr/O7NL7+Bd1fLBfoaXOiPosBxzENq/DRhZ3EqnK0bO9Mf90WqkBGd0o 7JW7R3ktNLnvX3VTPxgIH3z14BtO01uMkQDLB9cHugSLMtpO13UGEEzfMB3zLhi7iIbbOV7v/ giBsV/phdkVuMeKbEGMDLXfmI97VSOFMR5YArFOY57ExLzaPGfJFxpBFmDuLQn9lFKwrxA/FP gWNEbdEvxaWEY4fzn3dsKJTrswQ5XVbJkpPpBZ2R/V9vU6DCJR5KJDfySS23RKQpI1TK86ZFj 7J32XpBQSwdohxo6YfoilHyLwhA1aQywtcK/0tt5EBbsnjcNVvgqj48pBVmI1isHCY9b0ILRT 8CiFDRL1pRykHN3xo7OTI1fqmhOQ0KCPHT5JTwywJ45nKLb/Oakh1AGSNkM7kqE3roXPj6hOY Wb6ycM9DfEPWLQmpYL6OmcdMDLMv0P8ghWXMTkLG1aVqwBqeDDwHYHZzvLY= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state") changed the way that the dependencies are handled, but then the Class D amplifier support got merged, which used the old method. This seems to have triggered a very rare randconfig condition for me now, leading to a link error: sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio': atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register' atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register' sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio': atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister' atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister' This changes the SND_ATMEL_SOC_DMA option so it gets built whenever one of the two users (SND_ATMEL_SOC_SSC_DMA and SND_ATMEL_SOC_CLASSD) is enabled, with the twist that we make it built-in when SND_ATMEL_SOC_SSC is built-in, even if one of the other two is a module. I think this captures best what the real dependency in the hardware is, and it simplifies the logic a bit. Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier") Signed-off-by: Arnd Bergmann --- v2: rewrite the change completely, after running into a new regression. I'm putting it out on the list so we can review the change together, but I'm still doing more testing at the same time. If I don't reply by Dec 6, nothing new has come up. --- sound/soc/atmel/Kconfig | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- 2.9.0 diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig index 4a56f3dfba51..af9a9096d50b 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -20,8 +20,8 @@ config SND_ATMEL_SOC_SSC_PDC config SND_ATMEL_SOC_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM - default m if SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=m - default y if SND_ATMEL_SOC_SSC_DMA=y || (SND_ATMEL_SOC_SSC_DMA=m && SND_ATMEL_SOC_SSC=y) + default y if SND_ATMEL_SOC_SSC=y && (SND_ATMEL_SOC_SSC_DMA=m || SND_ATMEL_SOC_CLASSD=m) + default SND_ATMEL_SOC_CLASSD || SND_ATMEL_SOC_SSC_DMA config SND_ATMEL_SOC_SSC_DMA tristate @@ -64,7 +64,6 @@ config SND_AT91_SOC_SAM9X5_WM8731 config SND_ATMEL_SOC_CLASSD tristate "Atmel ASoC driver for boards using CLASSD" depends on ARCH_AT91 || COMPILE_TEST - select SND_ATMEL_SOC_DMA select REGMAP_MMIO help Say Y if you want to add support for Atmel ASoC driver for boards using