mirror of https://lore.kernel.org/linux-amlogic/
 help / color / mirror / Atom feed
* [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies
@ 2026-11-09 15:41 Jude Gyimah
  2026-11-09 15:41 ` [PATCH v2 1/4] ASoC: meson: aiu: select REGMAP_MMIO Jude Gyimah
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Jude Gyimah @ 2026-11-09 15:41 UTC (permalink / raw)
  To: jbrunet, lgirdwood, broonie, perex, tiwai
  Cc: neil.armstrong, khilman, martin.blumenstingl, linux-sound,
	linux-amlogic, linux-arm-kernel, linux-kernel, Jude Gyimah

Each of these drivers can be built into vmlinux while the code
providing a symbol it calls is a module, which fails to link.  The
same shape in 4 drivers, so they are here as one series.

Affected: aiu, axg-pdm, axg-spdifin, axg-spdifout.

The fix is a select rather than a depends on: the providers have no
prompt of their own and are only ever enabled by a select, so a
depends on would leave these drivers unselectable.

Each was reproduced on v7.3, arm64 by a vmlinux link that failed on the
named symbol, and each links once the select is added.

Found with kreach, a static check that compares what Kconfig allows
against the symbols the compiled objects actually reference.

The checker is at https://github.com/JGyimah/kreach, and the
reproducer configuration for each finding is published with it
under results/.

v2: Patch 2/4 opened with "These three do not" without saying 
    which three it meant. That sentence predated the aiu patch, 
    and the context was only in the cover letter, which git am 
    leaves out. As a result, the commit message didn't make 
    sense on its own. Reported by sashiko-bot. No functional 
    change: all four Kconfig diffs are byte-for-byte identical 
    to v1.

Jude Gyimah (4):
  ASoC: meson: aiu: select REGMAP_MMIO
  ASoC: meson: axg-pdm: select REGMAP_MMIO
  ASoC: meson: axg-spdifin: select REGMAP_MMIO
  ASoC: meson: axg-spdifout: select REGMAP_MMIO

 sound/soc/meson/Kconfig | 4 ++++
 1 file changed, 4 insertions(+)

-- 
2.43.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/4] ASoC: meson: aiu: select REGMAP_MMIO
  2026-11-09 15:41 [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Jude Gyimah
@ 2026-11-09 15:41 ` Jude Gyimah
  2026-11-09 15:41 ` [PATCH v2 2/4] ASoC: meson: axg-pdm: " Jude Gyimah
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Jude Gyimah @ 2026-11-09 15:41 UTC (permalink / raw)
  To: jbrunet, lgirdwood, broonie, perex, tiwai
  Cc: neil.armstrong, khilman, martin.blumenstingl, linux-sound,
	linux-amlogic, linux-arm-kernel, linux-kernel, Jude Gyimah,
	Valerio Setti

gx-formatter.o is part of snd-soc-meson-aiu:

  sound/soc/meson/Makefile:7: snd-soc-meson-aiu-y += gx-formatter.o

so SND_MESON_AIU is the option that decides where its call lands,
and the error below names gx-formatter.c rather than aiu.c.

aiu calls __devm_regmap_init_mmio_clk, which
drivers/base/regmap/regmap-mmio.c provides under REGMAP_MMIO.

  gx-formatter.c:(.text+0x74): undefined reference to
    `__devm_regmap_init_mmio_clk'

The driver can be built into vmlinux while REGMAP_MMIO is a module, in
which case the symbol is not there at link time.

Select rather than depend on: REGMAP_MMIO has no prompt of its own and is
only ever enabled by a select, so a depends on would leave SND_MESON_AIU
unselectable.

Reproduced on v7.3, arm64, with CONFIG_SND_MESON_AIU=y and
CONFIG_REGMAP_MMIO=m.

Found with kreach, a static check that compares what Kconfig allows
against the symbols the compiled objects actually reference.

Fixes: 6ae9ca9ce986 ("ASoC: meson: aiu: add i2s and spdif support")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Valerio Setti <vsetti@baylibre.com>
---
 sound/soc/meson/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
index d9a730994a2a..d0f60f8af2b5 100644
--- a/sound/soc/meson/Kconfig
+++ b/sound/soc/meson/Kconfig
@@ -4,6 +4,7 @@ menu "Amlogic"
 
 config SND_MESON_AIU
 	tristate "Amlogic AIU"
+	select REGMAP_MMIO
 	select SND_MESON_CODEC_GLUE
 	select SND_PCM_IEC958
 	imply SND_SOC_MESON_T9015
-- 
2.43.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 2/4] ASoC: meson: axg-pdm: select REGMAP_MMIO
  2026-11-09 15:41 [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Jude Gyimah
  2026-11-09 15:41 ` [PATCH v2 1/4] ASoC: meson: aiu: select REGMAP_MMIO Jude Gyimah
@ 2026-11-09 15:41 ` Jude Gyimah
  2026-11-09 15:41 ` [PATCH v2 3/4] ASoC: meson: axg-spdifin: " Jude Gyimah
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Jude Gyimah @ 2026-11-09 15:41 UTC (permalink / raw)
  To: jbrunet, lgirdwood, broonie, perex, tiwai
  Cc: neil.armstrong, khilman, martin.blumenstingl, linux-sound,
	linux-amlogic, linux-arm-kernel, linux-kernel, Jude Gyimah,
	Valerio Setti

Several stanzas in the same file already select REGMAP_MMIO,
SND_MESON_G12A_TOACODEC among them.  However, SND_MESON_AXG_PDM does not.

axg-pdm calls __devm_regmap_init_mmio_clk, which
drivers/base/regmap/regmap-mmio.c provides under REGMAP_MMIO.

  axg-pdm.c:(.text+0xc4): undefined reference to
    `__devm_regmap_init_mmio_clk'

The driver can be built into vmlinux while REGMAP_MMIO is a module, in
which case the symbol is not there at link time.

Select rather than depend on: REGMAP_MMIO has no prompt of its own and is
only ever enabled by a select, so a depends on would leave
SND_MESON_AXG_PDM unselectable.

Reproduced on v7.3, arm64, with CONFIG_SND_MESON_AXG_PDM=y and
CONFIG_REGMAP_MMIO=m.

Found with kreach, a static check that compares what Kconfig allows
against the symbols the compiled objects actually reference.

Fixes: 2cfc123eea74 ("ASoC: meson: add axg pdm input")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Valerio Setti <vsetti@baylibre.com>
---
 sound/soc/meson/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
index d0f60f8af2b5..4b06a9e7c72a 100644
--- a/sound/soc/meson/Kconfig
+++ b/sound/soc/meson/Kconfig
@@ -92,6 +92,7 @@ config SND_MESON_AXG_SPDIFIN
 
 config SND_MESON_AXG_PDM
 	tristate "Amlogic AXG PDM Input Support"
+	select REGMAP_MMIO
 	imply SND_SOC_DMIC
 	imply COMMON_CLK_AXG_AUDIO
 	help
-- 
2.43.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 3/4] ASoC: meson: axg-spdifin: select REGMAP_MMIO
  2026-11-09 15:41 [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Jude Gyimah
  2026-11-09 15:41 ` [PATCH v2 1/4] ASoC: meson: aiu: select REGMAP_MMIO Jude Gyimah
  2026-11-09 15:41 ` [PATCH v2 2/4] ASoC: meson: axg-pdm: " Jude Gyimah
@ 2026-11-09 15:41 ` Jude Gyimah
  2026-11-09 15:41 ` [PATCH v2 4/4] ASoC: meson: axg-spdifout: " Jude Gyimah
  2026-11-09 18:40 ` [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Mark Brown
  4 siblings, 0 replies; 6+ messages in thread
From: Jude Gyimah @ 2026-11-09 15:41 UTC (permalink / raw)
  To: jbrunet, lgirdwood, broonie, perex, tiwai
  Cc: neil.armstrong, khilman, martin.blumenstingl, linux-sound,
	linux-amlogic, linux-arm-kernel, linux-kernel, Jude Gyimah,
	Valerio Setti

axg-spdifin calls __devm_regmap_init_mmio_clk, which
drivers/base/regmap/regmap-mmio.c provides under REGMAP_MMIO.

  axg-spdifin.c:(.text+0x154): undefined reference to
    `__devm_regmap_init_mmio_clk'

The driver can be built into vmlinux while REGMAP_MMIO is a module, in
which case the symbol is not there at link time.

Select rather than depend on: REGMAP_MMIO has no prompt of its own and is
only ever enabled by a select, so a depends on would leave
SND_MESON_AXG_SPDIFIN unselectable.

Reproduced on v7.3, arm64, with CONFIG_SND_MESON_AXG_SPDIFIN=y and
CONFIG_REGMAP_MMIO=m.

Found with kreach, a static check that compares what Kconfig allows
against the symbols the compiled objects actually reference.

Fixes: 5ce5658375e6 ("ASoC: meson: add axg spdif input")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Valerio Setti <vsetti@baylibre.com>
---
 sound/soc/meson/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
index 4b06a9e7c72a..10c7d59a5ad1 100644
--- a/sound/soc/meson/Kconfig
+++ b/sound/soc/meson/Kconfig
@@ -85,6 +85,7 @@ config SND_MESON_AXG_SPDIFOUT
 
 config SND_MESON_AXG_SPDIFIN
 	tristate "Amlogic AXG SPDIF Input Support"
+	select REGMAP_MMIO
 	imply SND_SOC_SPDIF
 	help
 	  Select Y or M to add support for SPDIF input embedded
-- 
2.43.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 4/4] ASoC: meson: axg-spdifout: select REGMAP_MMIO
  2026-11-09 15:41 [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Jude Gyimah
                   ` (2 preceding siblings ...)
  2026-11-09 15:41 ` [PATCH v2 3/4] ASoC: meson: axg-spdifin: " Jude Gyimah
@ 2026-11-09 15:41 ` Jude Gyimah
  2026-11-09 18:40 ` [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Mark Brown
  4 siblings, 0 replies; 6+ messages in thread
From: Jude Gyimah @ 2026-11-09 15:41 UTC (permalink / raw)
  To: jbrunet, lgirdwood, broonie, perex, tiwai
  Cc: neil.armstrong, khilman, martin.blumenstingl, linux-sound,
	linux-amlogic, linux-arm-kernel, linux-kernel, Jude Gyimah,
	Valerio Setti

axg-spdifout calls __devm_regmap_init_mmio_clk, which
drivers/base/regmap/regmap-mmio.c provides under REGMAP_MMIO.

  axg-spdifout.c:(.text+0x9c): undefined reference to
    `__devm_regmap_init_mmio_clk'

The driver can be built into vmlinux while REGMAP_MMIO is a module, in
which case the symbol is not there at link time.

Select rather than depend on: REGMAP_MMIO has no prompt of its own and is
only ever enabled by a select, so a depends on would leave
SND_MESON_AXG_SPDIFOUT unselectable.

Reproduced on v7.3, arm64, with CONFIG_SND_MESON_AXG_SPDIFOUT=y and
CONFIG_REGMAP_MMIO=m.

Found with kreach, a static check that compares what Kconfig allows
against the symbols the compiled objects actually reference.

Fixes: 53eb4b7aaa04 ("ASoC: meson: add axg spdif output")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Valerio Setti <vsetti@baylibre.com>
---
 sound/soc/meson/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
index 10c7d59a5ad1..272639dd8eaf 100644
--- a/sound/soc/meson/Kconfig
+++ b/sound/soc/meson/Kconfig
@@ -76,6 +76,7 @@ config SND_MESON_AXG_SOUND_CARD
 
 config SND_MESON_AXG_SPDIFOUT
 	tristate "Amlogic AXG SPDIF Output Support"
+	select REGMAP_MMIO
 	select SND_PCM_IEC958
 	imply SND_SOC_SPDIF
 	imply COMMON_CLK_AXG_AUDIO
-- 
2.43.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies
  2026-11-09 15:41 [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Jude Gyimah
                   ` (3 preceding siblings ...)
  2026-11-09 15:41 ` [PATCH v2 4/4] ASoC: meson: axg-spdifout: " Jude Gyimah
@ 2026-11-09 18:40 ` Mark Brown
  4 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2026-11-09 18:40 UTC (permalink / raw)
  To: jbrunet, lgirdwood, perex, tiwai, Jude Gyimah
  Cc: neil.armstrong, khilman, martin.blumenstingl, linux-sound,
	linux-amlogic, linux-arm-kernel, linux-kernel

On Mon, 09 Nov 2026 16:41:16 +0100, Jude Gyimah wrote:
> ASoC: meson: fix missing REGMAP_MMIO dependencies
> 
> Each of these drivers can be built into vmlinux while the code
> providing a symbol it calls is a module, which fails to link.  The
> same shape in 4 drivers, so they are here as one series.
> 
> Affected: aiu, axg-pdm, axg-spdifin, axg-spdifout.
> 
> [...]

Applied to

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

Thanks!

[1/4] ASoC: meson: aiu: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/cc2f13940cee
[2/4] ASoC: meson: axg-pdm: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/12d753e6ca1d
[3/4] ASoC: meson: axg-spdifin: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/4603b51f1dad
[4/4] ASoC: meson: axg-spdifout: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/10ac156211d2

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


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-11-09 21:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-09 15:41 [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Jude Gyimah
2026-11-09 15:41 ` [PATCH v2 1/4] ASoC: meson: aiu: select REGMAP_MMIO Jude Gyimah
2026-11-09 15:41 ` [PATCH v2 2/4] ASoC: meson: axg-pdm: " Jude Gyimah
2026-11-09 15:41 ` [PATCH v2 3/4] ASoC: meson: axg-spdifin: " Jude Gyimah
2026-11-09 15:41 ` [PATCH v2 4/4] ASoC: meson: axg-spdifout: " Jude Gyimah
2026-11-09 18:40 ` [PATCH v2 0/4] ASoC: meson: fix missing REGMAP_MMIO dependencies Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®