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, i.MX8QXP has linked the common scu/lpcg clock driver into its clock drivers.
Since i.MX common clk driver will support module build and no longer selected by default, so for i.MX ARMv7 platforms, add clock configuration for each SoC and they are selected by default if the corresponding SoC config is selected. Changes since V3: - merge all i.MX8M SoCs patches together; - add module author/description; - drop __setup_param() change, it is ONLY needed for built-in version, so just add #if check for module build; - link common scu and lpcg clock into i.MX8QXP clock driver, then export is no needed for common scu/lpcg clock driver. Anson Huang (5): clk: composite: Export clk_hw_register_composite() clk: imx: Add clock configuration for ARMv7 platforms clk: imx: Support building i.MX common clock driver as module 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 | 112 ++++++++++++++++++++++++++++++++++--- 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-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 | 10 +++- drivers/clk/imx/clk-imx8qxp.c | 11 +++- drivers/clk/imx/clk-pll14xx.c | 5 ++ drivers/clk/imx/clk-sscg-pll.c | 2 + drivers/clk/imx/clk.c | 22 ++++++-- 16 files changed, 209 insertions(+), 57 deletions(-) -- 2.7.4