2023-10-27 15:24:24

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH 1/3] ASoC: amd: acp: add ACPI dependency

From: Arnd Bergmann <[email protected]>

A newly added function requires CONFIG_ACPI to avoid a build error:

sound/soc/amd/acp/acp-legacy-common.c: In function 'check_acp_pdm':
sound/soc/amd/acp/acp-legacy-common.c:401:19: error: implicit declaration of function 'acpi_find_child_device'; did you mean 'acpi_match_device'? [-Werror=implicit-function-declaration]
401 | pdm_dev = acpi_find_child_device(ACPI_COMPANION(&pci->dev), pdm_addr, 0);
| ^~~~~~~~~~~~~~~~~~~~~~
| acpi_match_device

The acp drivers really only work when ACPI is enabled already, so just
avoid the build failure with hard dependency in everything that
enables the acp-legacy-common portion.

Fixes: 3a94c8ad0aae ("ASoC: amd: acp: add code for scanning acp pdm controller")
Signed-off-by: Arnd Bergmann <[email protected]>
---
sound/soc/amd/acp/Kconfig | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/amd/acp/Kconfig b/sound/soc/amd/acp/Kconfig
index c0b2a2df8f80..b0e4d5117b81 100644
--- a/sound/soc/amd/acp/Kconfig
+++ b/sound/soc/amd/acp/Kconfig
@@ -30,13 +30,15 @@ config SND_SOC_AMD_ACP_PCM

config SND_SOC_AMD_ACP_PCI
tristate "AMD ACP PCI Driver Support"
- select SND_SOC_AMD_ACP_LEGACY_COMMON
depends on X86 && PCI
+ depends on ACPI
+ select SND_SOC_AMD_ACP_LEGACY_COMMON
help
This options enables generic PCI driver for ACP device.

config SND_AMD_ASOC_RENOIR
tristate "AMD ACP ASOC Renoir Support"
+ depends on ACPI
select SND_SOC_AMD_ACP_PCM
select SND_SOC_AMD_ACP_I2S
select SND_SOC_AMD_ACP_PDM
@@ -47,6 +49,7 @@ config SND_AMD_ASOC_RENOIR

config SND_AMD_ASOC_REMBRANDT
tristate "AMD ACP ASOC Rembrandt Support"
+ depends on ACPI
select SND_SOC_AMD_ACP_PCM
select SND_SOC_AMD_ACP_I2S
select SND_SOC_AMD_ACP_PDM
--
2.39.2


2023-10-27 15:25:01

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH 2/3] ASoC: codecs: aw88399: fix typo in Kconfig select

From: Arnd Bergmann <[email protected]>

The aw88395_lib module is shared by all the aw883* drivers that
need to select the corresponding Kconfig symbol. The newly added
aw88399 incorrectly selects SND_SOC_AW88399_LIB instead, which
is not defined anywhere in the kernel, causing a link failure when
the actual one is missing:

arm-linux-gnueabi-ld: sound/soc/codecs/aw88399.o: in function `aw88399_codec_probe':
aw88399.c:(.text+0xbc6): undefined reference to `aw88395_dev_load_acf_check'
arm-linux-gnueabi-ld: aw88399.c:(.text+0xbea): undefined reference to `aw88395_dev_cfg_load'

Fixes: 8ade6cc7e261 ("ASoC: codecs: Add aw88399 amplifier driver")
Signed-off-by: Arnd Bergmann <[email protected]>
---
sound/soc/codecs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index cc4026d93654..3429419ca694 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -687,7 +687,7 @@ config SND_SOC_AW88399
select CRC8
select REGMAP_I2C
select GPIOLIB
- select SND_SOC_AW88399_LIB
+ select SND_SOC_AW88395_LIB
help
This option enables support for aw88399 Smart PA.
The awinic AW88399 is an I2S/TDM input, high efficiency
--
2.39.2

2023-10-27 15:25:55

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH 3/3] ASoC: amd: acp: select SND_SOC_AMD_ACP_LEGACY_COMMON for ACP63

From: Arnd Bergmann <[email protected]>

Without this dependency, acp63 fails to link:

x86_64-linux-ld: sound/soc/amd/acp/acp63.o: in function `acp63_audio_remove':
acp63.c:(.text+0x22): undefined reference to `acp_disable_interrupts'
x86_64-linux-ld: sound/soc/amd/acp/acp63.o: in function `acp63_i2s_master_clock_generate.isra.0':
acp63.c:(.text+0x6f): undefined reference to `smn_read'
x86_64-linux-ld: acp63.c:(.text+0x81): undefined reference to `smn_write'
x86_64-linux-ld: acp63.c:(.text+0x8e): undefined reference to `smn_read'
x86_64-linux-ld: sound/soc/amd/acp/acp63.o: in function `acp63_pcm_resume':
acp63.c:(.text+0x230): undefined reference to `restore_acp_i2s_params'
x86_64-linux-ld: acp63.c:(.text+0x23d): undefined reference to `restore_acp_pdm_params'
x86_64-linux-ld: sound/soc/amd/acp/acp63.o: in function `acp63_audio_probe':
acp63.c:(.text+0x474): undefined reference to `acp_enable_interrupts'

Fixes: d4c2d5391d7e ("ASoC: amd: acp: add Kconfig options for acp6.3 based platform driver")
Signed-off-by: Arnd Bergmann <[email protected]>
---
Note that the original Kconfig entry is also whitespace-damaged, which I'm
fixing in the same patch, as it didn't seem worth having two commits for
the same few lines.
---
sound/soc/amd/acp/Kconfig | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/sound/soc/amd/acp/Kconfig b/sound/soc/amd/acp/Kconfig
index b0e4d5117b81..5fb322212938 100644
--- a/sound/soc/amd/acp/Kconfig
+++ b/sound/soc/amd/acp/Kconfig
@@ -61,15 +61,17 @@ config SND_AMD_ASOC_REMBRANDT
If unsure select "N".

config SND_AMD_ASOC_ACP63
- tristate "AMD ACP ASOC ACP6.3 Support"
- select SND_SOC_AMD_ACP_PCM
- select SND_SOC_AMD_ACP_I2S
- select SND_SOC_AMD_ACP_PDM
- depends on X86 && PCI
- help
- This option enables Acp6.3 I2S support on AMD platform.
- Say Y if you want to enable AUDIO on ACP6.3
- If unsure select "N".
+ tristate "AMD ACP ASOC ACP6.3 Support"
+ depends on X86 && PCI
+ depends on ACPI
+ select SND_SOC_AMD_ACP_PCM
+ select SND_SOC_AMD_ACP_I2S
+ select SND_SOC_AMD_ACP_PDM
+ select SND_SOC_AMD_ACP_LEGACY_COMMON
+ help
+ This option enables Acp6.3 I2S support on AMD platform.
+ Say Y if you want to enable AUDIO on ACP6.3
+ If unsure select "N".

config SND_SOC_AMD_MACH_COMMON
tristate
--
2.39.2

2023-10-27 22:55:14

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 1/3] ASoC: amd: acp: add ACPI dependency

On Fri, 27 Oct 2023 17:23:52 +0200, Arnd Bergmann wrote:
> A newly added function requires CONFIG_ACPI to avoid a build error:
>
> sound/soc/amd/acp/acp-legacy-common.c: In function 'check_acp_pdm':
> sound/soc/amd/acp/acp-legacy-common.c:401:19: error: implicit declaration of function 'acpi_find_child_device'; did you mean 'acpi_match_device'? [-Werror=implicit-function-declaration]
> 401 | pdm_dev = acpi_find_child_device(ACPI_COMPANION(&pci->dev), pdm_addr, 0);
> | ^~~~~~~~~~~~~~~~~~~~~~
> | acpi_match_device
>
> [...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/3] ASoC: amd: acp: add ACPI dependency
commit: 0b38362018c79bc6cf9d8ba4ee9a2a3827ba6328
[2/3] ASoC: codecs: aw88399: fix typo in Kconfig select
commit: cf046ecbcd1cd0ef1d762b3365b9918175e121ab
[3/3] ASoC: amd: acp: select SND_SOC_AMD_ACP_LEGACY_COMMON for ACP63
commit: a65cdffbef7bfdb9f55a3acb07ccf18d4f97b3a5

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark