> From: Anders Roxell [mailto:anders.roxell@xxxxxxxxxx] > Sent: Monday, January 14, 2019 7:13 PM > Subject: [PATCH v2] pinctrl: freescale: fix link errors > > Fix link errors when PINCTRL_IMX_SCU, PINCTRL_IMX8QM or > PINCTRL_IMXBQXP is enabled as a module and the dependent module is > built-in. > > ld: drivers/pinctrl/freescale/pinctrl-scu.o: in function `imx_pinctrl_sc_ipc_init': > pinctrl-scu.c:(.text+0x10): undefined reference to `imx_scu_get_handle' > ld: pinctrl-scu.c:(.text+0x10): relocation truncated to fit: R_AARCH64_CALL26 > against undefined symbol `imx_scu_get_handle' > ld: drivers/pinctrl/freescale/pinctrl-scu.o: in function `imx_pinconf_get_scu': > pinctrl-scu.c:(.text+0xa0): undefined reference to `imx_scu_call_rpc' > ld: pinctrl-scu.c:(.text+0xa0): relocation truncated to fit: R_AARCH64_CALL26 > against undefined symbol `imx_scu_call_rpc' > ld: drivers/pinctrl/freescale/pinctrl-scu.o: in function `imx_pinconf_set_scu': > pinctrl-scu.c:(.text+0x1b4): undefined reference to `imx_scu_call_rpc' > ld: pinctrl-scu.c:(.text+0x1b4): relocation truncated to fit: R_AARCH64_CALL26 > against undefined symbol `imx_scu_call_rpc' > ld: drivers/pinctrl/freescale/pinctrl-imx8qxp.o: in function > `imx8qxp_pinctrl_probe': > pinctrl-imx8qxp.c:(.text+0x28): undefined reference to `imx_pinctrl_probe' > ld: pinctrl-imx8qxp.c:(.text+0x28): relocation truncated to fit: > R_AARCH64_CALL26 against undefined symbol `imx_pinctrl_probe' > > Rework so that PINCTRL_IMX_SCU and the config's that 'select > PINCTRL_IMX_SCU' depends on IMX_SCU=y. > > Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> > Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx> Thanks for the fix. > --- > drivers/pinctrl/freescale/Kconfig | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig > index b318c24b61be..a599b72b350a 100644 > --- a/drivers/pinctrl/freescale/Kconfig > +++ b/drivers/pinctrl/freescale/Kconfig > @@ -7,7 +7,7 @@ config PINCTRL_IMX > > config PINCTRL_IMX_SCU > bool > - depends on IMX_SCU > + depends on IMX_SCU=y > select PINCTRL_IMX > > config PINCTRL_IMX1_CORE > @@ -131,14 +131,14 @@ config PINCTRL_IMX8MQ > > config PINCTRL_IMX8QM > bool "IMX8QM pinctrl driver" > - depends on ARCH_MXC && ARM64 > + depends on IMX_SCU=y && ARCH_MXC && ARM64 Neither IMX_SCU nor PINCTRL_IMX8QM can be built as module. So I guess the fix could be simply: depends on IMX_SCU && ARCH_MXC && ARM64 > select PINCTRL_IMX_SCU > help > Say Y here to enable the imx8qm pinctrl driver > > config PINCTRL_IMX8QXP > bool "IMX8QXP pinctrl driver" > - depends on ARCH_MXC && ARM64 > + depends on IMX_SCU=y && ARCH_MXC && ARM64 Ditto Can you please check if this works and update the commit log accordingly? Regards Dong Aisheng > select PINCTRL_IMX_SCU > help > Say Y here to enable the imx8qxp pinctrl driver > -- > 2.19.2