From: Arnd Bergmann <arnd@arndb.de> To: Anson Huang <anson.huang@nxp.com> Cc: Russell King - ARM Linux <linux@armlinux.org.uk>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Sascha Hauer <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, Michael Turquette <mturquette@baylibre.com>, Stephen Boyd <sboyd@kernel.org>, "oleksandr.suvorov@toradex.com" <oleksandr.suvorov@toradex.com>, Stefan Agner <stefan.agner@toradex.com>, Peng Fan <peng.fan@nxp.com>, Abel Vesa <abel.vesa@nxp.com>, Aisheng Dong <aisheng.dong@nxp.com>, Andy Duan <fugang.duan@nxp.com>, Daniel Baluta <daniel.baluta@nxp.com>, YueHaibing <yuehaibing@huawei.com>, Stephen Rothwell <sfr@canb.auug.org.au>, Al Viro <viro@zeniv.linux.org.uk>, Linux ARM <linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, linux-clk <linux-clk@vger.kernel.org>, dl-linux-imx <linux-imx@nxp.com> Subject: Re: [PATCH V3 02/10] init.h: Fix the __setup_param() macro for module build Date: Wed, 1 Jul 2020 11:53:25 +0200 [thread overview] Message-ID: <CAK8P3a1E_UecNq=7rvceQoXdFkmnBFOyUtxrpJ1bF6cLWOtNqQ@mail.gmail.com> (raw) In-Reply-To: <DB3PR0402MB3916F746C792CB2BC876715BF56C0@DB3PR0402MB3916.eurprd04.prod.outlook.com> On Wed, Jul 1, 2020 at 11:27 AM Anson Huang <anson.huang@nxp.com> wrote: > > Subject: Re: [PATCH V3 02/10] init.h: Fix the __setup_param() macro for > > module build > > > > On Wed, Jul 1, 2020 at 7:14 AM Anson Huang <anson.huang@nxp.com> > > wrote: > > > > I don't understand what your plan is here. Do you mean you will leave that > > part of the clk driver as built-in? > > I meant I will leave the #else block of __setup_param() defined as nothing as below to > make module build passed. > > #define __setup_param(str, unique_id, fn, early) /* nothing */ No, I think that is mistake. It will mean that other drivers with the same bug as the imx-clk driver will appear to build fine, but not work correctly. A build error is better than silently dropping the command line parsing in my opinion. > > This error just means you can't have a __setup_param() call in a loadable > > module, which we already knew. If you need to do something with the clocks > > early on, that has to be in built-in code and cannot be in a module. If you don't > > need that code, then you should just remove it from both the modular version > > and the built-in version. > > > > What is the purpose of that __setup_param() argument parsing in the clock > > driver? > > We need the code for proper uart clock management of earlycon, from the code, it > is trying to keep console uart clock enabled during kernel boot up. Why not move this all to a separate file then and only build it when CONFIG_CLK_IMX=y? It seems that you don't need the imx_keep_uart_clocks_param() if the clk driver is loaded as a module, but then you also don't need the imx_clk_disable_uart() and imx_register_uart_clocks() functions or the associated variables. Arnd
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de> To: Anson Huang <anson.huang@nxp.com> Cc: Aisheng Dong <aisheng.dong@nxp.com>, Stephen Rothwell <sfr@canb.auug.org.au>, Peng Fan <peng.fan@nxp.com>, linux-clk <linux-clk@vger.kernel.org>, Andy Duan <fugang.duan@nxp.com>, Abel Vesa <abel.vesa@nxp.com>, Stefan Agner <stefan.agner@toradex.com>, Stephen Boyd <sboyd@kernel.org>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, YueHaibing <yuehaibing@huawei.com>, Russell King - ARM Linux <linux@armlinux.org.uk>, Daniel Baluta <daniel.baluta@nxp.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "oleksandr.suvorov@toradex.com" <oleksandr.suvorov@toradex.com>, Al Viro <viro@zeniv.linux.org.uk>, Sascha Hauer <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, Michael Turquette <mturquette@baylibre.com>, Linux ARM <linux-arm-kernel@lists.infradead.org>, dl-linux-imx <linux-imx@nxp.com> Subject: Re: [PATCH V3 02/10] init.h: Fix the __setup_param() macro for module build Date: Wed, 1 Jul 2020 11:53:25 +0200 [thread overview] Message-ID: <CAK8P3a1E_UecNq=7rvceQoXdFkmnBFOyUtxrpJ1bF6cLWOtNqQ@mail.gmail.com> (raw) In-Reply-To: <DB3PR0402MB3916F746C792CB2BC876715BF56C0@DB3PR0402MB3916.eurprd04.prod.outlook.com> On Wed, Jul 1, 2020 at 11:27 AM Anson Huang <anson.huang@nxp.com> wrote: > > Subject: Re: [PATCH V3 02/10] init.h: Fix the __setup_param() macro for > > module build > > > > On Wed, Jul 1, 2020 at 7:14 AM Anson Huang <anson.huang@nxp.com> > > wrote: > > > > I don't understand what your plan is here. Do you mean you will leave that > > part of the clk driver as built-in? > > I meant I will leave the #else block of __setup_param() defined as nothing as below to > make module build passed. > > #define __setup_param(str, unique_id, fn, early) /* nothing */ No, I think that is mistake. It will mean that other drivers with the same bug as the imx-clk driver will appear to build fine, but not work correctly. A build error is better than silently dropping the command line parsing in my opinion. > > This error just means you can't have a __setup_param() call in a loadable > > module, which we already knew. If you need to do something with the clocks > > early on, that has to be in built-in code and cannot be in a module. If you don't > > need that code, then you should just remove it from both the modular version > > and the built-in version. > > > > What is the purpose of that __setup_param() argument parsing in the clock > > driver? > > We need the code for proper uart clock management of earlycon, from the code, it > is trying to keep console uart clock enabled during kernel boot up. Why not move this all to a separate file then and only build it when CONFIG_CLK_IMX=y? It seems that you don't need the imx_keep_uart_clocks_param() if the clk driver is loaded as a module, but then you also don't need the imx_clk_disable_uart() and imx_register_uart_clocks() functions or the associated variables. Arnd _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-07-01 9:53 UTC|newest] Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-29 5:53 [PATCH V3 00/10] Support building i.MX8 SoCs clock driver as module Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 5:53 ` [PATCH V3 01/10] clk: composite: Export clk_hw_register_composite() Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 5:53 ` [PATCH V3 02/10] init.h: Fix the __setup_param() macro for module build Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 11:33 ` Arnd Bergmann 2020-06-29 11:33 ` Arnd Bergmann 2020-06-29 11:40 ` Anson Huang 2020-06-29 11:40 ` Anson Huang 2020-06-29 11:58 ` Arnd Bergmann 2020-06-29 11:58 ` Arnd Bergmann 2020-07-01 5:14 ` Anson Huang 2020-07-01 5:14 ` Anson Huang 2020-07-01 8:37 ` Arnd Bergmann 2020-07-01 8:37 ` Arnd Bergmann 2020-07-01 9:27 ` Anson Huang 2020-07-01 9:27 ` Anson Huang 2020-07-01 9:53 ` Arnd Bergmann [this message] 2020-07-01 9:53 ` Arnd Bergmann 2020-07-01 10:02 ` Anson Huang 2020-07-01 10:02 ` Anson Huang 2020-07-01 10:13 ` Arnd Bergmann 2020-07-01 10:13 ` Arnd Bergmann 2020-07-01 10:20 ` Anson Huang 2020-07-01 10:20 ` Anson Huang 2020-06-29 5:53 ` [PATCH V3 03/10] ARM: imx: Select MXC_CLK for each SoC Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 7:27 ` Aisheng Dong 2020-06-29 7:27 ` Aisheng Dong 2020-06-29 8:21 ` Anson Huang 2020-06-29 8:21 ` Anson Huang 2020-06-29 5:53 ` [PATCH V3 04/10] clk: imx: Support building SCU clock driver as module Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 11:37 ` Arnd Bergmann 2020-06-29 11:37 ` Arnd Bergmann 2020-06-29 12:53 ` Anson Huang 2020-06-29 12:53 ` Anson Huang 2020-06-29 13:20 ` Arnd Bergmann 2020-06-29 13:20 ` Arnd Bergmann 2020-06-29 14:52 ` Anson Huang 2020-06-29 14:52 ` Anson Huang 2020-06-29 15:08 ` Arnd Bergmann 2020-06-29 15:08 ` Arnd Bergmann 2020-06-29 15:19 ` Anson Huang 2020-06-29 15:19 ` Anson Huang 2020-06-30 3:55 ` Dong Aisheng 2020-06-30 3:55 ` Dong Aisheng 2020-07-01 7:19 ` Anson Huang 2020-07-01 7:19 ` Anson Huang 2020-07-01 8:46 ` Arnd Bergmann 2020-07-01 8:46 ` Arnd Bergmann 2020-07-01 9:28 ` Anson Huang 2020-07-01 9:28 ` Anson Huang 2020-07-01 9:40 ` Anson Huang 2020-07-01 9:40 ` Anson Huang 2020-07-01 9:54 ` Arnd Bergmann 2020-07-01 9:54 ` Arnd Bergmann 2020-06-30 3:36 ` Dong Aisheng 2020-06-30 3:36 ` Dong Aisheng 2020-06-29 5:53 ` [PATCH V3 05/10] clk: imx: Support building i.MX common " Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 5:53 ` [PATCH V3 06/10] clk: imx8mm: Support module build Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 5:53 ` [PATCH V3 07/10] clk: imx8mn: " Anson Huang 2020-06-29 5:53 ` Anson Huang 2020-06-29 5:54 ` [PATCH V3 08/10] clk: imx8mp: " Anson Huang 2020-06-29 5:54 ` Anson Huang 2020-06-29 5:54 ` [PATCH V3 09/10] clk: imx8mq: " Anson Huang 2020-06-29 5:54 ` Anson Huang 2020-06-29 5:54 ` [PATCH V3 10/10] clk: imx8qxp: " Anson Huang 2020-06-29 5:54 ` Anson Huang 2020-06-29 11:40 ` Arnd Bergmann 2020-06-29 11:40 ` Arnd Bergmann 2020-06-29 11:43 ` Anson Huang 2020-06-29 11:43 ` Anson Huang 2020-06-29 11:58 ` Arnd Bergmann 2020-06-29 11:58 ` Arnd Bergmann
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='CAK8P3a1E_UecNq=7rvceQoXdFkmnBFOyUtxrpJ1bF6cLWOtNqQ@mail.gmail.com' \ --to=arnd@arndb.de \ --cc=abel.vesa@nxp.com \ --cc=aisheng.dong@nxp.com \ --cc=anson.huang@nxp.com \ --cc=daniel.baluta@nxp.com \ --cc=festevam@gmail.com \ --cc=fugang.duan@nxp.com \ --cc=kernel@pengutronix.de \ --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=sboyd@kernel.org \ --cc=sfr@canb.auug.org.au \ --cc=shawnguo@kernel.org \ --cc=stefan.agner@toradex.com \ --cc=viro@zeniv.linux.org.uk \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.