[PATCH V3 00/10] Support building i.MX8 SoCs clock driver as module

From: Anson Huang
Date: Mon Jun 29 2020 - 15:04:57 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.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.

Changes since V2:
- fix __setup_param() instead of handling module build inside clk driver;
- improve makefile format to include each file in separated line;
- add linux/export.h where necessary.

Anson Huang (10):
clk: composite: Export clk_hw_register_composite()
init.h: Fix the __setup_param() macro for module build
ARM: imx: Select MXC_CLK for each SoC
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 | 11 +++++++++
drivers/clk/clk-composite.c | 1 +
drivers/clk/imx/Kconfig | 22 ++++++++++--------
drivers/clk/imx/Makefile | 46 +++++++++++++++++++-------------------
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-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 | 2 ++
drivers/clk/imx/clk-pll14xx.c | 5 +++++
drivers/clk/imx/clk-scu.c | 5 +++++
drivers/clk/imx/clk-sscg-pll.c | 2 ++
drivers/clk/imx/clk.c | 20 ++++++++++++-----
include/linux/init.h | 2 +-
20 files changed, 91 insertions(+), 39 deletions(-)

--
2.7.4