[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AM0PR04MB4211E227D5F21802479C6ABC809C0@AM0PR04MB4211.eurprd04.prod.outlook.com>
Date: Fri, 18 Jan 2019 08:22:18 +0000
From: Aisheng Dong <aisheng.dong@....com>
To: Anders Roxell <anders.roxell@...aro.org>,
"festevam@...il.com" <festevam@...il.com>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"stefan@...er.ch" <stefan@...er.ch>,
"linus.walleij@...aro.org" <linus.walleij@...aro.org>
CC: "linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
dl-linux-imx <linux-imx@....com>
Subject: RE: [PATCH v2] pinctrl: freescale: fix link errors
> From: Anders Roxell [mailto:anders.roxell@...aro.org]
> 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@...db.de>
> Signed-off-by: Anders Roxell <anders.roxell@...aro.org>
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
Powered by blists - more mailing lists