linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@kernel.org>
To: Abel Vesa <abel.vesa@nxp.com>,
	Aisheng Dong <aisheng.dong@nxp.com>,
	Andy Duan <fugang.duan@nxp.com>,
	Anson Huang <anson.huang@nxp.com>,
	Daniel Baluta <daniel.baluta@nxp.com>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	Peng Fan <peng.fan@nxp.com>,
	Stefan Agner <stefan.agner@toradex.com>,
	allison@lohutok.net, arnd@arndb.de, festevam@gmail.com,
	gregkh@linuxfoundation.org, info@metux.net,
	kernel@pengutronix.de, linux-arm-kernel@lists.infradead.org,
	linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux@armlinux.org.uk, mturquette@baylibre.com,
	oleksandr.suvorov@toradex.com, s.hauer@pengutronix.de,
	sfr@canb.auug.org.au, shawnguo@kernel.org, tglx@linutronix.de,
	yuehaibing@huawei.com
Cc: dl-linux-imx <linux-imx@nxp.com>
Subject: RE: [PATCH V2 3/9] clk: imx: Support building SCU clock driver as module
Date: Tue, 23 Jun 2020 01:34:12 -0700	[thread overview]
Message-ID: <159290125202.62212.13172213909023205615@swboyd.mtv.corp.google.com> (raw)
In-Reply-To: <AM6PR04MB496690A045E0BFFF3D03AE0380940@AM6PR04MB4966.eurprd04.prod.outlook.com>

Quoting Aisheng Dong (2020-06-22 20:42:19)
> > From: Stephen Boyd <sboyd@kernel.org>
> > Sent: Saturday, June 20, 2020 11:28 AM
> > Subject: RE: [PATCH V2 3/9] clk: imx: Support building SCU clock driver as
> > module
> > 
> > Quoting Aisheng Dong (2020-06-17 18:58:51)
> > > > From: Anson Huang <anson.huang@nxp.com>
> > > > > > +obj-$(CONFIG_MXC_CLK_SCU) += mxc-clk-scu.o
> > > > >
> > > > > Like i.MX pinctrl, I'm not sure if it's really necessary to build
> > > > > core libraries as modules. Probably the simplest way is only
> > > > > building platform drivers part as module. And leave those core libraries
> > built in kernel.
> > > > > This may make the code a bit cleaner.
> > > > >
> > > >
> > > > Will discuss this with Linaro guys about it, previous requirement I
> > > > received is all SoC specific modules need to be built as module.
> > > >
> > >
> > > Okay. AFAIK it's not conflict.
> > > You still make drivers into modules.
> > > Only difference is for those common libraries part, we don't convert
> > > them into module Which is less meaningless.
> > >
> > 
> > What is the benefit of making the core part of the SoC driver not a module?
> 
> Usually we could try to build it as module if it's not hard.
> 
> One question is sometimes those core part are shared with some platforms which can't built as module.
> For i.MX case, it's mainly patch 4:
> [V2,4/9] clk: imx: Support building i.MX common clock driver as module
> https://patchwork.kernel.org/patch/11594801/
> 
> Those libraries are also used by i.MX6&7 which can't build as module.
> So we need an extra workaround patch to forcely 'select' it under arch/arm/mach-imx/Kconfig
> [V2,2/9] ARM: imx: Select MXC_CLK for ARCH_MXC
> https://patchwork.kernel.org/patch/11594793/
> Then the users can't configure it as module in order to not break build.
> 
> If build-in those common libraries, the implementation could be a bit easier and cleaner.
> So I'm not sure if we still have to build them as module.
> How would you suggest for such case?

Stop using 'select MXC_CLK' when requiring the core library code?
Instead, make it a 'depends' and then that will make depending modules
(i.e. the SoC files) that want to be builtin force the core module to be
builtin too. Other modular configs that depend on the core will still be
modular. 

I don't know why an architecture is selecting the clk code at all to be
honest. That can be moved to the defconfig instead of in the
architecture Kconfig and then you don't get a working system unless you
select the MXC_CLK config from the configurator tool (menuconfig,
nconfig, etc.) So ARCH_MXC shouldn't be in this discussion and the core
module should be selectable by the configurator and that should be
tristate and all SoC modules should depend on that core library module
and be selectable too and those Kconfigs can be tristate or bool.

  reply	other threads:[~2020-06-23  8:34 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-09  7:32 [PATCH V2 0/9] Support building i.MX8 SoCs clock driver as module Anson Huang
2020-06-09  7:32 ` [PATCH V2 1/9] clk: composite: Export clk_hw_register_composite() Anson Huang
2020-06-17 10:10   ` Aisheng Dong
2020-06-17 12:31     ` Anson Huang
2020-06-18  2:05       ` Aisheng Dong
2020-06-20  3:22   ` Stephen Boyd
2020-06-09  7:32 ` [PATCH V2 2/9] ARM: imx: Select MXC_CLK for ARCH_MXC Anson Huang
2020-06-17 10:34   ` Aisheng Dong
2020-06-17 12:36     ` Anson Huang
2020-06-18  3:09       ` Aisheng Dong
2020-06-18  3:18         ` Anson Huang
2020-06-18  3:58           ` Aisheng Dong
2020-06-09  7:32 ` [PATCH V2 3/9] clk: imx: Support building SCU clock driver as module Anson Huang
2020-06-17 10:44   ` Aisheng Dong
2020-06-17 12:26     ` Anson Huang
2020-06-18  1:58       ` Aisheng Dong
2020-06-20  3:27         ` Stephen Boyd
2020-06-23  3:42           ` Aisheng Dong
2020-06-23  8:34             ` Stephen Boyd [this message]
2020-06-23  9:00               ` Aisheng Dong
2020-06-24  0:57                 ` Stephen Boyd
2020-06-24  2:19                   ` Aisheng Dong
2020-06-24  2:36                     ` Anson Huang
2020-06-24  2:59                       ` Aisheng Dong
2020-06-24 22:43                         ` Stephen Boyd
2020-06-29  7:04                           ` Dong Aisheng
2020-06-29  8:19                             ` Arnd Bergmann
2020-06-30  3:01                               ` Aisheng Dong
2020-06-30  4:41                                 ` Anson Huang
     [not found]                               ` <159346473301.62212.686512161256425690@swboyd.mtv.corp.google.com>
2020-07-02  6:15                                 ` Anson Huang
2020-06-24  7:46                     ` Arnd Bergmann
2020-06-24  9:18                       ` Aisheng Dong
2020-06-09  7:32 ` [PATCH V2 4/9] clk: imx: Support building i.MX common " Anson Huang
2020-06-22  7:05   ` Stephen Boyd
2020-06-09  7:32 ` [PATCH V2 5/9] clk: imx8mm: Support module build Anson Huang
2020-06-09  7:32 ` [PATCH V2 6/9] clk: imx8mn: " Anson Huang
2020-06-09  7:32 ` [PATCH V2 7/9] clk: imx8mp: " Anson Huang
2020-06-09  7:32 ` [PATCH V2 8/9] clk: imx8mq: " Anson Huang
2020-06-09  7:32 ` [PATCH V2 9/9] clk: imx8qxp: " Anson Huang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=159290125202.62212.13172213909023205615@swboyd.mtv.corp.google.com \
    --to=sboyd@kernel.org \
    --cc=abel.vesa@nxp.com \
    --cc=aisheng.dong@nxp.com \
    --cc=allison@lohutok.net \
    --cc=anson.huang@nxp.com \
    --cc=arnd@arndb.de \
    --cc=daniel.baluta@nxp.com \
    --cc=festevam@gmail.com \
    --cc=fugang.duan@nxp.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=info@metux.net \
    --cc=kernel@pengutronix.de \
    --cc=leonard.crestez@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mturquette@baylibre.com \
    --cc=oleksandr.suvorov@toradex.com \
    --cc=peng.fan@nxp.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sfr@canb.auug.org.au \
    --cc=shawnguo@kernel.org \
    --cc=stefan.agner@toradex.com \
    --cc=tglx@linutronix.de \
    --cc=yuehaibing@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).