mbox series

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

Message ID 1593410042-10598-1-git-send-email-Anson.Huang@nxp.com (mailing list archive)
Headers show
Series Support building i.MX8 SoCs clock driver as module | expand

Message

Anson Huang June 29, 2020, 5:53 a.m. UTC
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(-)