interconnect: Disallow interconnect core to be built as a module

Message ID b789cce388dd1f2906492f307dea6780c398bc6a.1567065991.git.viresh.kumar@linaro.org
State New
Headers show
Series
  • interconnect: Disallow interconnect core to be built as a module
Related show

Commit Message

Viresh Kumar Aug. 29, 2019, 8:07 a.m.
Building individual drivers as modules is fine but allowing a core
framework to be built as a module makes it really complex and should be
avoided.

Whatever uses the interconnect core APIs must also be built as a module
if interconnect core is built as module, else we will see compilation
failures.

If another core framework (like cpufreq, clk, etc), that can't be built
as module, needs to use interconnect APIs then we will start seeing
compilation failures with allmodconfig configurations as the symbols
(like of_icc_get()) used in other frameworks will not be available in
the built-in image.

Disallow the interconnect core to be built as a module to avoid all
these issues.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

---
 drivers/interconnect/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.21.0.rc0.269.g1a574e7a288b

Comments

Bjorn Andersson Sept. 12, 2019, 4:33 p.m. | #1
On Thu, Aug 29, 2019 at 1:07 AM Viresh Kumar <viresh.kumar@linaro.org> wrote:
>

> Building individual drivers as modules is fine but allowing a core

> framework to be built as a module makes it really complex and should be

> avoided.

>

> Whatever uses the interconnect core APIs must also be built as a module

> if interconnect core is built as module, else we will see compilation

> failures.

>

> If another core framework (like cpufreq, clk, etc), that can't be built

> as module, needs to use interconnect APIs then we will start seeing

> compilation failures with allmodconfig configurations as the symbols

> (like of_icc_get()) used in other frameworks will not be available in

> the built-in image.

>

> Disallow the interconnect core to be built as a module to avoid all

> these issues.

>


Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>


> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> ---

>  drivers/interconnect/Kconfig | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/drivers/interconnect/Kconfig b/drivers/interconnect/Kconfig

> index bfa4ca3ab7a9..b6ea8f0a6122 100644

> --- a/drivers/interconnect/Kconfig

> +++ b/drivers/interconnect/Kconfig

> @@ -1,6 +1,6 @@

>  # SPDX-License-Identifier: GPL-2.0-only

>  menuconfig INTERCONNECT

> -       tristate "On-Chip Interconnect management support"

> +       bool "On-Chip Interconnect management support"

>         help

>           Support for management of the on-chip interconnects.

>

> --

> 2.21.0.rc0.269.g1a574e7a288b

>

Patch

diff --git a/drivers/interconnect/Kconfig b/drivers/interconnect/Kconfig
index bfa4ca3ab7a9..b6ea8f0a6122 100644
--- a/drivers/interconnect/Kconfig
+++ b/drivers/interconnect/Kconfig
@@ -1,6 +1,6 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 menuconfig INTERCONNECT
-	tristate "On-Chip Interconnect management support"
+	bool "On-Chip Interconnect management support"
 	help
 	  Support for management of the on-chip interconnects.