mbox series

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

Message ID 1596034117-24246-1-git-send-email-Anson.Huang@nxp.com (mailing list archive)
Headers show
Series Support building i.MX ARMv8 platforms clock driver as module | expand

Message

Anson Huang July 29, 2020, 2:48 p.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.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 V6:
	- improve patch #6's subject and move it to be first patch of this series.

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(-)

Comments

Shawn Guo July 29, 2020, 3:26 p.m. UTC | #1
On Wed, Jul 29, 2020 at 10:48:31PM +0800, Anson Huang wrote:
> 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 V6:
> 	- improve patch #6's subject and move it to be first patch of this series.
> 
> 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

Acked-by: Shawn Guo <shawnguo@kernel.org>

Stephen,

I had sent v5.9 material off my hand to you, so please pick this up
directly if it looks good to you.  Thanks!

Shawn
Stephen Boyd Aug. 1, 2020, 12:04 a.m. UTC | #2
Quoting Shawn Guo (2020-07-29 08:26:35)
> On Wed, Jul 29, 2020 at 10:48:31PM +0800, Anson Huang wrote:
> > 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 V6:
> >       - improve patch #6's subject and move it to be first patch of this series.
> > 
> > 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
> 
> Acked-by: Shawn Guo <shawnguo@kernel.org>
> 
> Stephen,
> 
> I had sent v5.9 material off my hand to you, so please pick this up
> directly if it looks good to you.  Thanks!
> 

Ok. At this point it's pretty late so I think it will have to wait to
after the merge window unless there's an rc8.