[PATCH V9 0/6] Support building i.MX ARMv8 platforms clock driver as module

From: Anson Huang
Date: Wed Jul 29 2020 - 21:27:47 EST


Nowdays, there are more and more requirements of building SoC specific drivers as
modules, such as Android GKI (generic kernel image), this patch set supports building
i.MX ARMv8 SoCs clock drivers as modules,

The CLK_IMXxxx is introduced for i.MX ARMv7 platforms in order to make the build options
aligned, the reason why i.MX ARMv7 platforms clock driver do NOT support module build
and COMPILE_TEST is because, some drivers like i.MX GPT timer driver depends on clock
driver to be ready before it, GPT driver uses TIMER_OF_DECLARE(), while i.MX6/7 clock
drivers use CLK_OF_DECLARE(), and GPT driver is critical for i.MX6/7 platforms kernel
boot up, so GPT driver needs to be changed to support loadable clock driver first,
then the i.MX6/7 clock drivers can support loadable module, this will be done later.

Changes since V8:
- explicitly include linux/bits.h in patch #1.

Anson Huang (6):
clk: imx6sl: Use BIT(x) to avoid shifting signed 32-bit value by 31
bits
clk: composite: Export clk_hw_register_composite()
clk: imx: Support building i.MX common clock driver as module
clk: imx: Add clock configuration for ARMv7 platforms
clk: imx8m: Support module build
clk: imx8qxp: Support building i.MX8QXP clock driver as module

drivers/clk/clk-composite.c | 1 +
drivers/clk/imx/Kconfig | 94 ++++++++++++++++++++++++++++++++------
drivers/clk/imx/Makefile | 79 ++++++++++++++++----------------
drivers/clk/imx/clk-composite-8m.c | 2 +
drivers/clk/imx/clk-cpu.c | 2 +
drivers/clk/imx/clk-frac-pll.c | 2 +
drivers/clk/imx/clk-gate2.c | 2 +
drivers/clk/imx/clk-imx6sl.c | 15 +++---
drivers/clk/imx/clk-imx8mm.c | 4 ++
drivers/clk/imx/clk-imx8mn.c | 4 ++
drivers/clk/imx/clk-imx8mp.c | 4 ++
drivers/clk/imx/clk-imx8mq.c | 4 ++
drivers/clk/imx/clk-imx8qxp-lpcg.c | 4 ++
drivers/clk/imx/clk-imx8qxp.c | 4 ++
drivers/clk/imx/clk-pll14xx.c | 5 ++
drivers/clk/imx/clk-sscg-pll.c | 2 +
drivers/clk/imx/clk.c | 17 +++++--
drivers/clk/imx/clk.h | 6 +++
18 files changed, 186 insertions(+), 65 deletions(-)

--
2.7.4