drivers/pinctrl/core.c | 1 + 1 file changed, 1 insertion(+)
If a pinctrl driver uses pinctrl_provide_dummies() interface, and
is built as a module, then an error occur as follow:
ERROR: modpost: "pinctrl_provide_dummies" [drivers/pinctrl/cix/pinctrl-sky1-base.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:147: Module.symvers] Error 1
make[1]: *** [/home/gary/workspace/upstream/kernel_upstream/Makefile:1960: modpost] Error 2
make: *** [Makefile:248: __sub-make] Error 2
Signed-off-by: Gary Yang <gary.yang@cixtech.com>
---
drivers/pinctrl/core.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index c5dbf4e9db84..acf4a86fb5cd 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -70,6 +70,7 @@ void pinctrl_provide_dummies(void)
{
pinctrl_dummy_state = true;
}
+EXPORT_SYMBOL_GPL(pinctrl_provide_dummies);
const char *pinctrl_dev_get_name(struct pinctrl_dev *pctldev)
{
--
2.49.0
On Tue, Oct 28, 2025 at 7:13 AM Gary Yang <gary.yang@cixtech.com> wrote:
> If a pinctrl driver uses pinctrl_provide_dummies() interface, and
>
> is built as a module, then an error occur as follow:
>
> ERROR: modpost: "pinctrl_provide_dummies" [drivers/pinctrl/cix/pinctrl-sky1-base.ko] undefined!
> make[2]: *** [scripts/Makefile.modpost:147: Module.symvers] Error 1
> make[1]: *** [/home/gary/workspace/upstream/kernel_upstream/Makefile:1960: modpost] Error 2
> make: *** [Makefile:248: __sub-make] Error 2
>
> Signed-off-by: Gary Yang <gary.yang@cixtech.com>
I just deleted the call to pinctrl_provide_dummies() from the SKY1
driver instead, because I didn't understand it.
But if you need it, put it in a series with this patch based on the latest
devel and an explanation why it is needed.
The only other driver that use it is the Renesas driver and it uses
it like this:
/* Enable dummy states for those platforms without pinctrl support */
if (!of_have_populated_dt())
pinctrl_provide_dummies();
I don't understand why you would need this? The SKY1 has pinctrl
support after this patch I think and since the arch code in arm64
requires DT, it seems fine. But maybe this is for ACPI boots or
something like that, so you would have this driver but there would
not be any device tree?
Just explain it in a patch and we can add it back.
Yours,
Linus Walleij
© 2016 - 2026 Red Hat, Inc.