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

From: Anson Huang
Date: Tue Jul 07 2020 - 01:13:06 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 V5:
- make i.MX ARMv7 platforms clock driver to bool and NOT support COMPILT_TEST,
since they depends on ARCH_MXC or SOC config, which makes the COMPILT_TEST
NOT make enough sense, so just skip the COMPILT_TEST support for i.MX ARMv7
platform clock drivers, leave them same as original implementation.
- add a patch to fix build warning reported by kernel robot test on i.MX6SL
clock driver.

Anson Huang (6):
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
clk: imx6sl: Fix build warning reported by kernel test robot

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