From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753202AbdKJO4t (ORCPT ); Fri, 10 Nov 2017 09:56:49 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:54235 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751558AbdKJO4s (ORCPT ); Fri, 10 Nov 2017 09:56:48 -0500 From: Arnd Bergmann To: Mark Brown Cc: Arnd Bergmann , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Charles Keepax , Bard Liao , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] ASoC: rt5514: work around link error Date: Fri, 10 Nov 2017 15:54:43 +0100 Message-Id: <20171110145455.821805-2-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20171110145455.821805-1-arnd@arndb.de> References: <20171110145455.821805-1-arnd@arndb.de> X-Provags-ID: V03:K0:bAs0b0OXp3cZTF8DiUKK4tA9zp1ksUbAqyraYU5tSDynF+53bOS BwDUJtqzluywc/m3YJ3u+uFQh2VXPYLXTaNts0/68YvcSL7/h+EiQtEpMtq9CbJtww3z/tM 0fh4rbbMHVHdt0cIE2yamumSZgC1AiA2e5Uvyhxy0qw1X1QUND5ZcTdmfSbInJF3FcZZzyK ckWcpngF6trkMxwBZ8sgA== X-UI-Out-Filterresults: notjunk:1;V01:K0:0ucshRFLjl8=:O9gXzR1QKH1MFzo5bcNxvv kAZVD/z8T6i5vFazp07XkwGFUTlDDVgsC+w34bP7yACeOQtb8oY16qytDm82MXk0FY7IkR9/K OXKNujSqd1VVVe/1MLZ4yxgBsKrSVYdPUeUHgzdpz5si0Fk7ZjmY6SDQhr0lkMxMZObTPQoch v2qnjEcHX7pjUd56XWtV4VXPXZtmo63EhJPRch3LHWpO3b9xa5HadmkW8RmcGKkhCrxMDVzB4 zpqW3keUVYhTGUCdWEj9sPfpb6ZKw37/Yfgo9XSeFDXZK9UaOVtKin16g1aYaUR7bfZvc0z4e pAvWKwQIjzvJ48jkzCjVIx4nU+3RVxvAm6SrAvYLlcB9noz7Yx8Q3TtYZTFUZz42zxafBVUIQ LYSGA8KfJ9PjqxseUNw9vUrDdWciIm6S8BDE/wi1jDHg/fUvkXxir4tbiExcjcMhM+TEhqVgh 4r66O8P1ENFqPSXVGjY8WJctVOBNZ6OqVIAhrWtBdXkXUZWxCKA5FjZ1RF1y8v56pg7KShIb5 04iYxmjVLJOcgmDEuqvkhjN92kZ/yc9og9joDNgA+bDaI6bqSAXSTUjAPCwOmwl1uypvj5Y+s +FudAV7XEzYLYUM6Gwijvb3wPKy47wSNdMZk4dUk32KYT7+3lNqnJK9/N8HWUVLKmo55VrbMG xMMYf8oHtCECDfel8xLv5l/hEp+joWJsVsD72GYJ1UcQhO2Mgk9hMTAnMf2/jbiqhAa7bkdE3 7n+83lC6Ad66HB/KzqckDlv6TO9/ZvX8ZP8k1A== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The main rt5514 driver optionally calls into the SPI back-end to load the firmware. This causes a link error when one driver selects rt5514 as built-in and another driver selects rt5514-spi as a loadable module: sound/soc/codecs/rt5514.o: In function `rt5514_dsp_voice_wake_up_put': rt5514.c:(.text+0xac8): undefined reference to `rt5514_spi_burst_write' As a workaround, this adds another silent symbol, to force rt5514-spi to be built-in for that configuration. I'm not overly happy with that solution, but couldn't come up with anything better. Using 'IS_REACHABLE()' would break the case that relies on the loadable module, and all other ideas would result in more complexity. Signed-off-by: Arnd Bergmann --- sound/soc/codecs/Kconfig | 4 ++++ sound/soc/codecs/Makefile | 1 + 2 files changed, 5 insertions(+) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 0838ae710941..a42ddbc93f3d 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -749,6 +749,10 @@ config SND_SOC_RT5514 config SND_SOC_RT5514_SPI tristate +config SND_SOC_RT5514_SPI_BUILTIN + bool # force RT5514_SPI to be built-in to avoid link errors + default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m + config SND_SOC_RT5616 tristate "Realtek RT5616 CODEC" depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile index 05018b7ca72b..0001069ce2a7 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -360,6 +360,7 @@ obj-$(CONFIG_SND_SOC_RT286) += snd-soc-rt286.o obj-$(CONFIG_SND_SOC_RT298) += snd-soc-rt298.o obj-$(CONFIG_SND_SOC_RT5514) += snd-soc-rt5514.o obj-$(CONFIG_SND_SOC_RT5514_SPI) += snd-soc-rt5514-spi.o +obj-$(CONFIG_SND_SOC_RT5514_SPI_BUILTIN) += snd-soc-rt5514-spi.o obj-$(CONFIG_SND_SOC_RT5616) += snd-soc-rt5616.o obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o -- 2.9.0