Messages in this thread | | | Date | Thu, 2 Jul 2020 21:29:57 +0300 | From | Laurent Pinchart <> | Subject | Re: [PATCH V5 0/6] Support building i.MX ARMv7/ARMv8 platforms clock driver as module |
| |
Hi Anson,
On Thu, Jul 02, 2020 at 11:23:55PM +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 ARMv6/ARMv7 SoCs clock drivers as modules,
I'm curious, how does the system boot to userspace to be able to load modules without clock support in the kernel ? What if the driver for the device storing the rootfs cope with clocks not being available ? Does this require an initramfs with the clock module ? Even then, how does the serial port driver cope with not having clocks ?
> The CLK_IMXxxx is introduced for i.MX ARMv7 platforms in order to support > various build options, and i.MX1/2/3 platforms now still ONLY support built-in > as they are rarely used now. > > Changes since V4: > - add empty function of imx_register_uart_clocks() for MODULE build, then > all earlycon related clock handler can be built-out for MODULE; > - add module build support for ARMv7 platforms, also add COMPILE_TEST for them; > - add COMPILE_TEST for ARMv8 platforms; > - keep using builtin_platform_driver() for i.MX8QXP clock driver. > > Anson Huang (6): > clk: composite: Export clk_hw_register_composite() > clk: imx: Support module build for i.MX5/6/7 and vf610 > 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 | 101 ++++++++++++++++++++++++++++++++----- > 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-imx5.c | 5 ++ > drivers/clk/imx/clk-imx6q.c | 5 ++ > drivers/clk/imx/clk-imx6sl.c | 5 ++ > drivers/clk/imx/clk-imx6sll.c | 5 ++ > drivers/clk/imx/clk-imx6sx.c | 5 ++ > drivers/clk/imx/clk-imx6ul.c | 5 ++ > drivers/clk/imx/clk-imx7d.c | 5 ++ > drivers/clk/imx/clk-imx7ulp.c | 5 ++ > 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-vf610.c | 5 ++ > drivers/clk/imx/clk.c | 17 +++++-- > drivers/clk/imx/clk.h | 6 +++ > 26 files changed, 231 insertions(+), 57 deletions(-)
-- Regards,
Laurent Pinchart
| |