Hi, Arnd > Subject: Re: [PATCH V3 04/10] clk: imx: Support building SCU clock driver as > module > > On Mon, Jun 29, 2020 at 2:53 PM Anson Huang <anson.hu...@nxp.com> > wrote: > > > Subject: Re: [PATCH V3 04/10] clk: imx: Support building SCU clock > > > driver as module > > > > > > On Mon, Jun 29, 2020 at 8:06 AM Anson Huang <anson.hu...@nxp.com> > > > wrote: > > > > > > > --- a/drivers/clk/imx/Makefile > > > > +++ b/drivers/clk/imx/Makefile > > > > @@ -21,9 +21,9 @@ obj-$(CONFIG_MXC_CLK) += \ > > > > clk-sscg-pll.o \ > > > > clk-pll14xx.o > > > > > > > > -obj-$(CONFIG_MXC_CLK_SCU) += \ > > > > - clk-scu.o \ > > > > - clk-lpcg-scu.o > > > > +mxc-clk-scu-objs += clk-lpcg-scu.o mxc-clk-scu-objs += clk-scu.o > > > > +obj-$(CONFIG_MXC_CLK_SCU) += mxc-clk-scu.o > > > > > > It looks like the two modules are tightly connected, one is useless > > > without the other. How about linking them into a combined module and > > > dropping the export statement? > > > > > > > From HW perspective, the SCU clock driver and LPCG SCU clock driver > > are different, SCU clock driver is for those clocks controlled by > > system controller (M4 which runs a firmware), while LPCG SCU clock is > > for those clock gates inside module, which means AP core can control it > directly via register access, no need to via SCU API. > > Sorry, I misread the patch in multiple ways. First of all, you already put > clk-scu.o and clk-lpcg-scu.o files into a combined loadable module, and I had > only looked at clk-scu.c. > > What I actually meant here was to link clk-scu.o together with clk-imx8qxp.o > (and possibly future chip-specific files) into a loadable module and drop the > export.
Sorry, could you please advise more details about how to do it in Makefile? I tried below but it looks like NOT working. multiple definition of module_init() error reported. obj-$(CONFIG_MXC_CLK_SCU) := clk-imx.o clk-imx-y += clk-scu.o clk-lpcg-scu.o clk-imx-$(CONFIG_CLK_IMX8QXP) += clk-imx8qxp.o clk-imx8qxp-lpcg.o Thanks, Anson