From patchwork Mon Jan 22 10:58:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 10178267 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 040E2602B7 for ; Mon, 22 Jan 2018 10:58:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 079DD27F85 for ; Mon, 22 Jan 2018 10:58:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F06DB27F8F; Mon, 22 Jan 2018 10:58:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EA2F327F85 for ; Mon, 22 Jan 2018 10:58:46 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 6239B266FD8; Mon, 22 Jan 2018 11:58:44 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 8A7DA266FDE; Mon, 22 Jan 2018 11:58:42 +0100 (CET) Received: from mail-ot0-f196.google.com (mail-ot0-f196.google.com [74.125.82.196]) by alsa0.perex.cz (Postfix) with ESMTP id 59BE4266D71 for ; Mon, 22 Jan 2018 11:58:36 +0100 (CET) Received: by mail-ot0-f196.google.com with SMTP id s3so7074337otc.9 for ; Mon, 22 Jan 2018 02:58:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=asA4C+lIYhon8tUeqXjdvAiV0rzZUp5vCTCqtKLAHeQ=; b=hblOwlOGPTK+PpJ8Kw7I6y+vyQWVRWcapfHIp1op3u5W7FqRlPxqsxdepcfVS0EZoZ wZaHEYtSY1DalmJML9WfmpYuDzRmXRiy93pr6fwfTus3DtJbwQwW8h9dt254o5D1oIIE EmTibIcLKPj2sIdD7jPfWMGvM/Z0q3dcDHDdaw+qA9T3Ywv6uXAzipeEH4xNP2GzUNQW OWRcbkUNNrbmCnN/yOeLRTvY8PcSBBXkuo3W0iD0kbjsicwsg4MYKaueEfIRDwr0s4WS F8Hhf88AQZrITAY2svdiz9x/uxx18aFlcbnV8a6R0k00XorKLr8ASw0TTttheLginoNA eTrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=asA4C+lIYhon8tUeqXjdvAiV0rzZUp5vCTCqtKLAHeQ=; b=G3QFQMcGwUCYYxC2ptYE2ze9osCGEEqisc13HoGrZEPWG3dEaXOnbbbqHM9DSzj8XS RBNoQ73zHY6fnd2aydAIndkZacnaZH5dT03IUfsyaSQ+Ovhes3TjKxHeZzp64rXv1og/ iIIGEBgOr6v48pLWHvs7o2cjoh7i6yXsi2PmFeAL/lF1FfdN+5lGPur+kcrJUab1LQjh 4NEvJL45nubYCSkB+I+JKo08MtRdF+p/6K3MkZ52APPRjLdN+mcUiQnp0R1CKpxxwEm6 o1LTfKo61JuFze4k/nIVwp+OKGu5mU4EyZC7dw2952VlSgW9rRSiKpbzfmjPiLF3d08W ePew== X-Gm-Message-State: AKwxytfk23GYa69HvrQ5aZfF5t96nMQ/M4qTrAnppwSaoewdyhfn7L0/ qIyUIWTaAs7ERbUBdw8+Tv/kUlF3dmd0bVWjiWY= X-Google-Smtp-Source: AH8x2251pQPzADpoSfSMsa7EHROQGv3+FrW50nP66khIodrYeAm2ZF/UXEtVWLAMsuPRsOvWPqq7I1JO/4g9q3zcbYo= X-Received: by 10.157.65.169 with SMTP id p38mr4219438ote.38.1516618715422; Mon, 22 Jan 2018 02:58:35 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.68.119 with HTTP; Mon, 22 Jan 2018 02:58:34 -0800 (PST) In-Reply-To: <1516614692.7000.1155.camel@linux.intel.com> References: <20180121221505.196163-1-arnd@arndb.de> <1516614692.7000.1155.camel@linux.intel.com> From: Arnd Bergmann Date: Mon, 22 Jan 2018 11:58:34 +0100 X-Google-Sender-Auth: cau-ABAdKwYsKtXKGMAKeQ1RDGY Message-ID: To: Andy Shevchenko Cc: alsa-devel@alsa-project.org, Liam Girdwood , Vinod Koul , Linux Kernel Mailing List , Pierre-Louis Bossart , Takashi Iwai , Harsha Priya N , Mark Brown , Naveen M , Daniel Drake Subject: Re: [alsa-devel] [PATCH] ASoC: intel: clean up CONFIG_SND_SST_IPC handling X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP On Mon, Jan 22, 2018 at 10:51 AM, Andy Shevchenko wrote: > On Sun, 2018-01-21 at 23:14 +0100, Arnd Bergmann wrote: >> In a configuration with SND_SST_ATOM_HIFI2_PLATFORM_PCI=y and >> SND_SST_ATOM_HIFI2_PLATFORM=m, we get this module link failure: >> >> ERROR: "sst_context_init" [sound/soc/intel/atom/sst/snd-intel-sst- >> acpi.ko] undefined! >> ERROR: "sst_context_cleanup" [sound/soc/intel/atom/sst/snd-intel-sst- >> acpi.ko] undefined! >> ERROR: "sst_alloc_drv_context" [sound/soc/intel/atom/sst/snd-intel- >> sst-acpi.ko] undefined! >> ERROR: "intel_sst_pm" [sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko] >> undefined! >> ERROR: "sst_configure_runtime_pm" [sound/soc/intel/atom/sst/snd-intel- >> sst-acpi.ko] undefined! >> >> The problem is that the sound/soc/intel/atom/ directory only gets >> entered by Kbuild when SND_SST_ATOM_HIFI2_PLATFORM is set, so we >> only build modules (obj-m) under here but not built-in files (obj-y) >> including the snd-intel-sst-core that we clearly want need here. >> >> Before commit 4772c16ede52 ("ASoC: Intel: Kconfig: Simplify-clarify >> ACPI/PCI >> dependencies"), this could not happen as all files in >> sound/soc/intel/atom/ >> depended on CONFIG_SND_SST_ATOM_HIFI2_PLATFORM anyway. >> >> Slightly later, commit 05f4434bc130 ("ASoC: Intel: remove >> mfld_machine") >> was added, which then removed the Merrifield machine code that >> happened >> to be the only user of SND_SST_ATOM_HIFI2_PLATFORM_PCI. With that >> gone, > > That's what I afraid of. Intel Merrifield *should* be there. What Vinod > did, AFAIU, is removal of Intel Medfield support, which is fine with me. > > So, before this can go, we need to get confirmation from Vinod and > Pierre, that Merrifield still stays there. Ok, I see. Checking further, I see that SND_SST_ATOM_HIFI2_PLATFORM_PCI cannot be built without SND_SST_ATOM_HIFI2_PLATFORM: sound/soc/intel/atom/sst/sst_drv_interface.o: In function `sst_register': sst_drv_interface.c:(.text+0xc3e): undefined reference to `sst_register_dsp' sound/soc/intel/atom/sst/sst_drv_interface.o: In function `sst_unregister': sst_drv_interface.c:(.text+0xc67): undefined reference to `sst_unregister_dsp' How about this instead: diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig index f2c9e8c5970a..16344bd24eb0 100644 --- a/sound/soc/intel/Kconfig +++ b/sound/soc/intel/Kconfig @@ -72,21 +72,8 @@ config SND_SOC_INTEL_BAYTRAIL for Baytrail Chromebooks but this option is now deprecated and is not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead. -config SND_SST_ATOM_HIFI2_PLATFORM_PCI - tristate "PCI HiFi2 (Medfield, Merrifield) Platforms" - depends on X86 && PCI - select SND_SST_IPC_PCI - select SND_SOC_COMPRESS - help - If you have a Intel Medfield or Merrifield/Edison platform, then - enable this option by saying Y or m. Distros will typically not - enable this option: Medfield devices are not available to - developers and while Merrifield/Edison can run a mainline kernel with - limited functionality it will require a firmware file which - is not in the standard firmware tree - config SND_SST_ATOM_HIFI2_PLATFORM - tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms" + tristate "ACPI HiFi2 (Baytrail, Cherrytrail, Merrifield) Platforms" depends on X86 && ACPI select SND_SST_IPC_ACPI select SND_SOC_COMPRESS diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig index d4e103615f51..c73b19292fda 100644 --- a/sound/soc/intel/boards/Kconfig +++ b/sound/soc/intel/boards/Kconfig @@ -159,6 +159,19 @@ config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH If unsure select "N". +config SND_SOC_INTEL_MRFLD_MACH + tristate "Merrifield/Edison platform" + depends on X86_INTEL_LPSS && I2C && PCI + select SND_SST_IPC_PCI + help + This adds support for ASoC PCI driver for the Merrifield + (platform) used e.g. on Intel Edison. If you have + Merrifield/Edison platform, then enable this option by saying + Y or m. Distros will typically not enable this option: while + Merrifield/Edison can run a mainline kernel with limited + functionality it will require a firmware file which is not in + the standard firmware tree. + endif ## SND_SST_ATOM_HIFI2_PLATFORM if SND_SOC_INTEL_SKYLAKE