From fc8c410eb6e1d43064f832adc645ad9f2afa90dd Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Thu, 4 Apr 2024 19:53:37 +0100 Subject: [PATCH] ASoC: tegra: Drop 'oot' suffix for upstream drivers When booting kernels that have both the upstream and out-of-tree audio drivers for Tegra present the following errors are observed ... Error: Driver 'tegra210-ahub' is already registered, aborting... Error: Driver 'tegra210-amx' is already registered, aborting... Error: Driver 'tegra186-dspk' is already registered, aborting... Error: Driver 'tegra210-mvc' is already registered, aborting... Error: Driver 'tegra210-adx' is already registered, aborting... Error: Driver 'tegra210-ahub' is already registered, aborting... Error: Driver 'tegra210_mixer' is already registered, aborting... Error: Driver 'tegra186-asrc' is already registered, aborting... Error: Driver 'tegra210-dmic' is already registered, aborting... Error: Driver 'tegra210-i2s' is already registered, aborting... Error: Driver 'tegra210-admaif' is already registered, aborting... The problem is that the upstream Tegra audio drivers are loaded first and then the kernel attempts to load the out-of-tree variants because they have a different name. The out-of-tree are installed under the 'updates' directory in the file-system and by dropping the 'oot' suffix from the driver name, then depmod will not attempt to load both variants of the audio drivers and prioritise loading the drivers in the 'updates' directory. Bug 4590647 Change-Id: I6c6fe1eb84bc9fdfa4a8f4abf1ce3a75f3bfba8a Signed-off-by: Jon Hunter Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3110266 Reviewed-by: Brad Griffis GVS: Gerrit_Virtual_Submit Reviewed-by: Sameer Pujar --- sound/soc/tegra/Makefile | 70 ++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/sound/soc/tegra/Makefile b/sound/soc/tegra/Makefile index 0943ddf0..6efe7880 100644 --- a/sound/soc/tegra/Makefile +++ b/sound/soc/tegra/Makefile @@ -1,40 +1,40 @@ # SPDX-License-Identifier: GPL-2.0-only -# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -snd-soc-tegra-utils-oot-objs := tegra_asoc_utils.o tegra_asoc_machine.o \ +snd-soc-tegra-utils-objs := tegra_asoc_utils.o tegra_asoc_machine.o \ tegra_isomgr_bw.o tegra_codecs.o -snd-soc-tegra210-ahub-oot-objs := tegra210_ahub.o -snd-soc-tegra210-dmic-oot-objs := tegra210_dmic.o -snd-soc-tegra210-i2s-oot-objs := tegra210_i2s.o -snd-soc-tegra186-dspk-oot-objs := tegra186_dspk.o -snd-soc-tegra210-admaif-oot-objs := tegra210_admaif.o -snd-soc-tegra210-amx-oot-objs := tegra210_amx.o -snd-soc-tegra210-adx-oot-objs := tegra210_adx.o -snd-soc-tegra210-mixer-oot-objs := tegra210_mixer.o -snd-soc-tegra210-sfc-oot-objs := tegra210_sfc.o -snd-soc-tegra210-afc-oot-objs := tegra210_afc.o -snd-soc-tegra210-mvc-oot-objs := tegra210_mvc.o -snd-soc-tegra210-iqc-oot-objs := tegra210_iqc.o -snd-soc-tegra186-asrc-oot-objs := tegra186_asrc.o -snd-soc-tegra186-arad-oot-objs := tegra186_arad.o -snd-soc-tegra210-ope-oot-objs := tegra210_ope.o tegra210_peq.o \ +snd-soc-tegra210-ahub-objs := tegra210_ahub.o +snd-soc-tegra210-dmic-objs := tegra210_dmic.o +snd-soc-tegra210-i2s-objs := tegra210_i2s.o +snd-soc-tegra186-dspk-objs := tegra186_dspk.o +snd-soc-tegra210-admaif-objs := tegra210_admaif.o +snd-soc-tegra210-amx-objs := tegra210_amx.o +snd-soc-tegra210-adx-objs := tegra210_adx.o +snd-soc-tegra210-mixer-objs := tegra210_mixer.o +snd-soc-tegra210-sfc-objs := tegra210_sfc.o +snd-soc-tegra210-afc-objs := tegra210_afc.o +snd-soc-tegra210-mvc-objs := tegra210_mvc.o +snd-soc-tegra210-iqc-objs := tegra210_iqc.o +snd-soc-tegra186-asrc-objs := tegra186_asrc.o +snd-soc-tegra186-arad-objs := tegra186_arad.o +snd-soc-tegra210-ope-objs := tegra210_ope.o tegra210_peq.o \ tegra210_mbdrc.o -snd-soc-tegra-machine-driver-oot-objs := tegra_machine_driver.o +snd-soc-tegra-machine-driver-objs := tegra_machine_driver.o -obj-m += snd-soc-tegra-utils-oot.o -obj-m += snd-soc-tegra210-dmic-oot.o -obj-m += snd-soc-tegra210-ahub-oot.o -obj-m += snd-soc-tegra210-i2s-oot.o -obj-m += snd-soc-tegra186-dspk-oot.o -obj-m += snd-soc-tegra210-admaif-oot.o -obj-m += snd-soc-tegra210-amx-oot.o -obj-m += snd-soc-tegra210-adx-oot.o -obj-m += snd-soc-tegra210-mixer-oot.o -obj-m += snd-soc-tegra210-sfc-oot.o -obj-m += snd-soc-tegra210-afc-oot.o -obj-m += snd-soc-tegra210-mvc-oot.o -obj-m += snd-soc-tegra210-iqc-oot.o -obj-m += snd-soc-tegra210-ope-oot.o -obj-m += snd-soc-tegra186-arad-oot.o -obj-m += snd-soc-tegra186-asrc-oot.o -obj-m += snd-soc-tegra-machine-driver-oot.o +obj-m += snd-soc-tegra-utils.o +obj-m += snd-soc-tegra210-dmic.o +obj-m += snd-soc-tegra210-ahub.o +obj-m += snd-soc-tegra210-i2s.o +obj-m += snd-soc-tegra186-dspk.o +obj-m += snd-soc-tegra210-admaif.o +obj-m += snd-soc-tegra210-amx.o +obj-m += snd-soc-tegra210-adx.o +obj-m += snd-soc-tegra210-mixer.o +obj-m += snd-soc-tegra210-sfc.o +obj-m += snd-soc-tegra210-afc.o +obj-m += snd-soc-tegra210-mvc.o +obj-m += snd-soc-tegra210-iqc.o +obj-m += snd-soc-tegra210-ope.o +obj-m += snd-soc-tegra186-arad.o +obj-m += snd-soc-tegra186-asrc.o +obj-m += snd-soc-tegra-machine-driver.o