linux/drivers/clk/imx/Kconfig
Dong Aisheng 6247e31b75 clk: imx: scu: fix MXC_CLK_SCU module build break
This issue can be reproduced by having a kernel config with
CONFIG_IMX_MBOX=m and CONFIG_MXC_CLK_SCU=m.  It's caused by the Makefile
wanting to build clk-scu.o and clk-imx8qxp.o as different targets but
that doesn't work (e.g. MXC_CLK_SCU = y while CLK_IMX8QXP = n)

"obj-$(CONFIG_MXC_CLK_SCU) += clk-imx-scu.o clk-imx-lpcg-scu.o
clk-imx-scu-$(CONFIG_CLK_IMX8QXP) += clk-scu.o clk-imx8qxp.o"

Having MXC_CLK_SCU=y/m while CLK_IMX8QXP=n will cause a linker problem
like below:

  LD [M]  drivers/clk/imx/clk-imx-scu.o
  arm-poky-linux-gnueabi-ld: no input files

Make MXC_CLK_SCU be un-selectable by users so it can only be selected by
the CLK_IMX8QXP option, ensuring the two symbols are built together.
Drop COMPILE_TEST too because this option isn't selectable anymore. We
can remove it from MXC_CLK_SCU because CLK_IMX8QXP selects MXC_CLK_SCU
which already has COMPILE_TEST.

Fixes: e0d0d4d86c ("clk: imx8qxp: Support building i.MX8QXP clock driver as module")
Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Link: https://lore.kernel.org/r/20201130084624.21113-1-aisheng.dong@nxp.com
[sboyd@kernel.org: Rework commit text]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2020-12-07 13:54:00 -08:00

103 lines
1.8 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0
# common clock support for NXP i.MX SoC family.
config MXC_CLK
tristate "IMX clock"
depends on ARCH_MXC || COMPILE_TEST
config MXC_CLK_SCU
tristate
depends on ARCH_MXC
depends on IMX_SCU && HAVE_ARM_SMCCC
config CLK_IMX1
def_bool SOC_IMX1
select MXC_CLK
config CLK_IMX25
def_bool SOC_IMX25
select MXC_CLK
config CLK_IMX27
def_bool SOC_IMX27
select MXC_CLK
config CLK_IMX31
def_bool SOC_IMX31
select MXC_CLK
config CLK_IMX35
def_bool SOC_IMX35
select MXC_CLK
config CLK_IMX5
def_bool SOC_IMX5
select MXC_CLK
config CLK_IMX6Q
def_bool SOC_IMX6Q
select MXC_CLK
config CLK_IMX6SL
def_bool SOC_IMX6SL
select MXC_CLK
config CLK_IMX6SLL
def_bool SOC_IMX6SLL
select MXC_CLK
config CLK_IMX6SX
def_bool SOC_IMX6SX
select MXC_CLK
config CLK_IMX6UL
def_bool SOC_IMX6UL
select MXC_CLK
config CLK_IMX7D
def_bool SOC_IMX7D
select MXC_CLK
config CLK_IMX7ULP
def_bool SOC_IMX7ULP
select MXC_CLK
config CLK_VF610
def_bool SOC_VF610
select MXC_CLK
config CLK_IMX8MM
tristate "IMX8MM CCM Clock Driver"
depends on ARCH_MXC || COMPILE_TEST
select MXC_CLK
help
Build the driver for i.MX8MM CCM Clock Driver
config CLK_IMX8MN
tristate "IMX8MN CCM Clock Driver"
depends on ARCH_MXC || COMPILE_TEST
select MXC_CLK
help
Build the driver for i.MX8MN CCM Clock Driver
config CLK_IMX8MP
tristate "IMX8MP CCM Clock Driver"
depends on ARCH_MXC || COMPILE_TEST
select MXC_CLK
help
Build the driver for i.MX8MP CCM Clock Driver
config CLK_IMX8MQ
tristate "IMX8MQ CCM Clock Driver"
depends on ARCH_MXC || COMPILE_TEST
select MXC_CLK
help
Build the driver for i.MX8MQ CCM Clock Driver
config CLK_IMX8QXP
tristate "IMX8QXP SCU Clock"
depends on (ARCH_MXC && ARM64) || COMPILE_TEST
depends on IMX_SCU && HAVE_ARM_SMCCC
select MXC_CLK_SCU
help
Build the driver for IMX8QXP SCU based clocks.