mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies
@ 2026-11-03 13:25 Jude Gyimah
  2026-11-03 13:25 ` [PATCH 1/5] ASoC: rockchip_i2s: select REGMAP_MMIO Jude Gyimah
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Jude Gyimah @ 2026-11-03 13:25 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, heiko
  Cc: linux-sound, 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 5 drivers, so they are here as one series.

Affected: rockchip_i2s, rockchip_i2s_tdm, rockchip_pdm, rockchip_sai,
rockchip_spdif.

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, x86_64, 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/.

Jude Gyimah (5):
  ASoC: rockchip_i2s: select REGMAP_MMIO
  ASoC: rockchip_i2s_tdm: select REGMAP_MMIO
  ASoC: rockchip_pdm: select REGMAP_MMIO
  ASoC: rockchip_sai: select REGMAP_MMIO
  ASoC: rockchip_spdif: select REGMAP_MMIO

 sound/soc/rockchip/Kconfig | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.43.0


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

* [PATCH 1/5] ASoC: rockchip_i2s: select REGMAP_MMIO
  2026-11-03 13:25 [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Jude Gyimah
@ 2026-11-03 13:25 ` Jude Gyimah
  2026-11-03 13:25 ` [PATCH 2/5] ASoC: rockchip_i2s_tdm: " Jude Gyimah
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Jude Gyimah @ 2026-11-03 13:25 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, heiko
  Cc: linux-sound, linux-arm-kernel, linux-kernel, Jude Gyimah

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

  rockchip_i2s.c:(.text+0x418): 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_SOC_ROCKCHIP_I2S unselectable.

Reproduced on v7.3, x86_64, with CONFIG_SND_SOC_ROCKCHIP_I2S=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: 4495c89fcf26 ("ASoC: add driver for Rockchip RK3xxx I2S controller")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
---
 sound/soc/rockchip/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig
index 391ce2225fde..d7ec1fbe17a5 100644
--- a/sound/soc/rockchip/Kconfig
+++ b/sound/soc/rockchip/Kconfig
@@ -5,6 +5,7 @@ menu "Rockchip"
 
 config SND_SOC_ROCKCHIP_I2S
 	tristate "Rockchip I2S Device Driver"
+	select REGMAP_MMIO
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 	help
 	  Say Y or M if you want to add support for I2S driver for
-- 
2.43.0


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

* [PATCH 2/5] ASoC: rockchip_i2s_tdm: select REGMAP_MMIO
  2026-11-03 13:25 [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Jude Gyimah
  2026-11-03 13:25 ` [PATCH 1/5] ASoC: rockchip_i2s: select REGMAP_MMIO Jude Gyimah
@ 2026-11-03 13:25 ` Jude Gyimah
  2026-11-03 13:25 ` [PATCH 3/5] ASoC: rockchip_pdm: " Jude Gyimah
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Jude Gyimah @ 2026-11-03 13:25 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, heiko
  Cc: linux-sound, linux-arm-kernel, linux-kernel, Jude Gyimah

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

  rockchip_i2s_tdm.c:1304:(.text+0x14b1b6): 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_SOC_ROCKCHIP_I2S_TDM unselectable.

Reproduced on v7.3, x86_64, with CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=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: 081068fd6414 ("ASoC: rockchip: add support for i2s-tdm controller")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
---
 sound/soc/rockchip/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig
index d7ec1fbe17a5..0f8ef6868356 100644
--- a/sound/soc/rockchip/Kconfig
+++ b/sound/soc/rockchip/Kconfig
@@ -14,6 +14,7 @@ config SND_SOC_ROCKCHIP_I2S
 
 config SND_SOC_ROCKCHIP_I2S_TDM
 	tristate "Rockchip I2S/TDM Device Driver"
+	select REGMAP_MMIO
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 	help
 	  Say Y or M if you want to add support for the I2S/TDM driver for
-- 
2.43.0


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

* [PATCH 3/5] ASoC: rockchip_pdm: select REGMAP_MMIO
  2026-11-03 13:25 [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Jude Gyimah
  2026-11-03 13:25 ` [PATCH 1/5] ASoC: rockchip_i2s: select REGMAP_MMIO Jude Gyimah
  2026-11-03 13:25 ` [PATCH 2/5] ASoC: rockchip_i2s_tdm: " Jude Gyimah
@ 2026-11-03 13:25 ` Jude Gyimah
  2026-11-03 13:25 ` [PATCH 4/5] ASoC: rockchip_sai: " Jude Gyimah
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Jude Gyimah @ 2026-11-03 13:25 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, heiko
  Cc: linux-sound, linux-arm-kernel, linux-kernel, Jude Gyimah

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

  rockchip_pdm.c:(.text+0xef4): 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_SOC_ROCKCHIP_PDM unselectable.

Reproduced on v7.3, x86_64, with CONFIG_SND_SOC_ROCKCHIP_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: fc05a5b22253 ("ASoC: rockchip: add support for pdm controller")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
---
 sound/soc/rockchip/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig
index 0f8ef6868356..e0ded1fa4da5 100644
--- a/sound/soc/rockchip/Kconfig
+++ b/sound/soc/rockchip/Kconfig
@@ -25,6 +25,7 @@ config SND_SOC_ROCKCHIP_I2S_TDM
 
 config SND_SOC_ROCKCHIP_PDM
 	tristate "Rockchip PDM Controller Driver"
+	select REGMAP_MMIO
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 	select RATIONAL
 	help
-- 
2.43.0


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

* [PATCH 4/5] ASoC: rockchip_sai: select REGMAP_MMIO
  2026-11-03 13:25 [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Jude Gyimah
                   ` (2 preceding siblings ...)
  2026-11-03 13:25 ` [PATCH 3/5] ASoC: rockchip_pdm: " Jude Gyimah
@ 2026-11-03 13:25 ` Jude Gyimah
  2026-11-03 13:25 ` [PATCH 5/5] ASoC: rockchip_spdif: " Jude Gyimah
  2026-11-03 23:26 ` [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Mark Brown
  5 siblings, 0 replies; 7+ messages in thread
From: Jude Gyimah @ 2026-11-03 13:25 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, heiko
  Cc: linux-sound, linux-arm-kernel, linux-kernel, Jude Gyimah

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

  rockchip_sai.c:1424:(.text+0x153060): 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_SOC_ROCKCHIP_SAI unselectable.

Reproduced on v7.3, x86_64, with CONFIG_SND_SOC_ROCKCHIP_SAI=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: cc78d1eaabad ("ASoC: rockchip: add Serial Audio Interface (SAI) driver")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
---
 sound/soc/rockchip/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig
index e0ded1fa4da5..aba9a518d3b2 100644
--- a/sound/soc/rockchip/Kconfig
+++ b/sound/soc/rockchip/Kconfig
@@ -35,6 +35,7 @@ config SND_SOC_ROCKCHIP_PDM
 
 config SND_SOC_ROCKCHIP_SAI
 	tristate "Rockchip SAI Controller Driver"
+	select REGMAP_MMIO
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 	help
 	  Say Y or M if you want to add support for the Rockchip Serial Audio
-- 
2.43.0


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

* [PATCH 5/5] ASoC: rockchip_spdif: select REGMAP_MMIO
  2026-11-03 13:25 [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Jude Gyimah
                   ` (3 preceding siblings ...)
  2026-11-03 13:25 ` [PATCH 4/5] ASoC: rockchip_sai: " Jude Gyimah
@ 2026-11-03 13:25 ` Jude Gyimah
  2026-11-03 23:26 ` [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Mark Brown
  5 siblings, 0 replies; 7+ messages in thread
From: Jude Gyimah @ 2026-11-03 13:25 UTC (permalink / raw)
  To: lgirdwood, broonie, perex, tiwai, heiko
  Cc: linux-sound, linux-arm-kernel, linux-kernel, Jude Gyimah

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

  rockchip_spdif.c:(.text+0xf67): 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_SOC_ROCKCHIP_SPDIF unselectable.

Reproduced on v7.3, x86_64, with CONFIG_SND_SOC_ROCKCHIP_SPDIF=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: f874b80e1571 ("ASoC: rockchip: Add rockchip SPDIF transceiver driver")
Signed-off-by: Jude Gyimah <jude.gyimah87@gmail.com>
---
 sound/soc/rockchip/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig
index aba9a518d3b2..0e5110125c14 100644
--- a/sound/soc/rockchip/Kconfig
+++ b/sound/soc/rockchip/Kconfig
@@ -45,6 +45,7 @@ config SND_SOC_ROCKCHIP_SAI
 
 config SND_SOC_ROCKCHIP_SPDIF
 	tristate "Rockchip SPDIF Device Driver"
+	select REGMAP_MMIO
 	select SND_PCM_IEC958
 	select SND_SOC_GENERIC_DMAENGINE_PCM
 	help
-- 
2.43.0


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

* Re: [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies
  2026-11-03 13:25 [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Jude Gyimah
                   ` (4 preceding siblings ...)
  2026-11-03 13:25 ` [PATCH 5/5] ASoC: rockchip_spdif: " Jude Gyimah
@ 2026-11-03 23:26 ` Mark Brown
  5 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2026-11-03 23:26 UTC (permalink / raw)
  To: lgirdwood, perex, tiwai, heiko, Jude Gyimah
  Cc: linux-sound, linux-arm-kernel, linux-kernel

On Tue, 03 Nov 2026 14:25:32 +0100, Jude Gyimah wrote:
> ASoC: rockchip: 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 5 drivers, so they are here as one series.
> 
> Affected: rockchip_i2s, rockchip_i2s_tdm, rockchip_pdm, rockchip_sai,
> rockchip_spdif.
> 
> [...]

Applied to

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

Thanks!

[1/5] ASoC: rockchip_i2s: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/1c57404bf9ba
[2/5] ASoC: rockchip_i2s_tdm: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/b8284f2b73f8
[3/5] ASoC: rockchip_pdm: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/420c7918a61b
[4/5] ASoC: rockchip_sai: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/829904994e7a
[5/5] ASoC: rockchip_spdif: select REGMAP_MMIO
      https://git.kernel.org/broonie/sound/c/67a7e2073909

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


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

end of thread, other threads:[~2026-11-04 11:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03 13:25 [PATCH 0/5] ASoC: rockchip: fix missing REGMAP_MMIO dependencies Jude Gyimah
2026-11-03 13:25 ` [PATCH 1/5] ASoC: rockchip_i2s: select REGMAP_MMIO Jude Gyimah
2026-11-03 13:25 ` [PATCH 2/5] ASoC: rockchip_i2s_tdm: " Jude Gyimah
2026-11-03 13:25 ` [PATCH 3/5] ASoC: rockchip_pdm: " Jude Gyimah
2026-11-03 13:25 ` [PATCH 4/5] ASoC: rockchip_sai: " Jude Gyimah
2026-11-03 13:25 ` [PATCH 5/5] ASoC: rockchip_spdif: " Jude Gyimah
2026-11-03 23:26 ` [PATCH 0/5] ASoC: rockchip: 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®