2020-06-08 14:04:05

by Anson Huang

[permalink] [raw]
Subject: [PATCH 0/9] Support building i.MX8 SoCs clock driver as module

Nowdays, there are more and more requirements of building SoC specific
drivers as modules, such as Android GKI (generic kernel image), this patch
set support building i.MX8 SoCs clock drivers as modules, including
i.MX8MQ/MM/MN/MP/QXP, the common clock modules are: mxc-clk.ko for
i.MX8MQ/MM/MN/MP, mxc-clk-scu.ko for i.MX8QXP and later SoCs with SCU inside,
normally, each platform can ONLY insmod 1 common i.MX clock driver and
its own SoC clock driver.

Since i.MX common clk driver will support module build and no longer selected
by default, so for i.MX ARMv7 platforms, need to manually select it to
make build pass.

Anson Huang (9):
clk: composite: Export clk_hw_register_composite()
ARM: imx: Select MXC_CLK for ARCH_MXC
clk: imx: Support building SCU clock driver as module
clk: imx: Support building i.MX common clock driver as module
clk: imx8mm: Support module build
clk: imx8mn: Support module build
clk: imx8mp: Support module build
clk: imx8mq: Support module build
clk: imx8qxp: Support module build

arch/arm/mach-imx/Kconfig | 1 +
drivers/clk/clk-composite.c | 1 +
drivers/clk/imx/Kconfig | 20 ++++++++++++--------
drivers/clk/imx/Makefile | 30 +++++++-----------------------
drivers/clk/imx/clk-composite-8m.c | 1 +
drivers/clk/imx/clk-cpu.c | 1 +
drivers/clk/imx/clk-frac-pll.c | 1 +
drivers/clk/imx/clk-gate2.c | 1 +
drivers/clk/imx/clk-imx8mm.c | 1 +
drivers/clk/imx/clk-imx8mn.c | 1 +
drivers/clk/imx/clk-imx8mp.c | 1 +
drivers/clk/imx/clk-imx8mq.c | 1 +
drivers/clk/imx/clk-imx8qxp-lpcg.c | 1 +
drivers/clk/imx/clk-imx8qxp.c | 1 +
drivers/clk/imx/clk-lpcg-scu.c | 1 +
drivers/clk/imx/clk-pll14xx.c | 4 ++++
drivers/clk/imx/clk-scu.c | 5 +++++
drivers/clk/imx/clk-sscg-pll.c | 1 +
drivers/clk/imx/clk.c | 28 ++++++++++++++++++++++------
19 files changed, 64 insertions(+), 37 deletions(-)

--
2.7.4


2020-06-08 14:04:06

by Anson Huang

[permalink] [raw]
Subject: [PATCH 2/9] ARM: imx: Select MXC_CLK for ARCH_MXC

i.MX common clock drivers may support module build, so it is NOT
selected by default, for ARCH_MXC ARMv7 platforms, need to select
it manually to make build pass.

Signed-off-by: Anson Huang <[email protected]>
---
arch/arm/mach-imx/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index e7d7b90..47b10d2 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -4,6 +4,7 @@ menuconfig ARCH_MXC
depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
select ARCH_SUPPORTS_BIG_ENDIAN
select CLKSRC_IMX_GPT
+ select MXC_CLK
select GENERIC_IRQ_CHIP
select GPIOLIB
select PINCTRL
--
2.7.4