* [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
` (4 more replies)
0 siblings, 5 replies; 6+ 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] 6+ 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
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ 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] 6+ 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
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ 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] 6+ 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
2026-11-03 13:25 ` [PATCH 5/5] ASoC: rockchip_spdif: " Jude Gyimah
4 siblings, 0 replies; 6+ 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] 6+ 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
4 siblings, 0 replies; 6+ 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] 6+ 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
4 siblings, 0 replies; 6+ 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] 6+ messages in thread
end of thread, other threads:[~2026-11-03 13:26 UTC | newest]
Thread overview: 6+ 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
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®