Message ID | 20220913062721.5986-1-quic_hyiwei@quicinc.com |
---|---|
State | New |
Headers | show |
Series | interconnect: qcom: Add the missing MODULE_LICENSE | expand |
Hi Yiwei, On Tue, Sep 13, 2022 at 02:27:21PM +0800, Huang Yiwei wrote: > Since icc-common.c can be compiled as module, add the missing > MODULE_LICENSE to avoid compile errors. Just curious how you can enable config INTERCONNECT_QCOM as "m" (module)? I checked the config INTERCONNECT_QCOM which is dependent on INTERCONNECT, and INTERCONNECT has below dependency: - DRM_TEGRA [=n] && HAS_IOMEM [=y] && (ARCH_TEGRA [=y] || ARM && COMPILE_TEST [=n]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] - TEGRA_MC [=n] && MEMORY [=y] && (ARCH_TEGRA [=y] || COMPILE_TEST [=n] && COMMON_CLK [=y]) Seems to me, it's impossible to enable INTERCONNECT as "m" because the dependency ARCH_TEGRA/OF/COMMON_CLK cannot be configured as "m". Thanks, Leo
Changed to Bjorn's updated email. On Tue, Sep 13, 2022 at 04:30:50PM +0800, Huang Yiwei wrote: > Hi Leo, > > On 9/13/2022 Tue 15:08, Leo Yan wrote: > > Hi Yiwei, > > > > On Tue, Sep 13, 2022 at 02:27:21PM +0800, Huang Yiwei wrote: > > > Since icc-common.c can be compiled as module, add the missing > > > MODULE_LICENSE to avoid compile errors. > > > > Just curious how you can enable config INTERCONNECT_QCOM as "m" > > (module)? > > > > I checked the config INTERCONNECT_QCOM which is dependent on > > INTERCONNECT, and INTERCONNECT has below dependency: > > > > - DRM_TEGRA [=n] && HAS_IOMEM [=y] && (ARCH_TEGRA [=y] || ARM && COMPILE_TEST [=n]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] > > - TEGRA_MC [=n] && MEMORY [=y] && (ARCH_TEGRA [=y] || COMPILE_TEST [=n] && COMMON_CLK [=y]) > > > > Seems to me, it's impossible to enable INTERCONNECT as "m" because the > > dependency ARCH_TEGRA/OF/COMMON_CLK cannot be configured as "m". > > > > Thanks, > > Leo > > > Found the problem, INTERCONNECT_QCOM is modified to tristate internally > so we can compile it as a module, and the new added icc-common.c uses > INTERCONNECT_QCOM config to compile, then cause the problem. Thanks for confirmation, Yiwei. > So shall we change INTERCONNECT_QCOM config to tristate? I personally think modularization is the right thing to do; to avoid misleading you, I would leave your question to interconnect maintainers. Thanks, Leo
Hi Yiwei, On 13.09.22 13:06, Leo Yan wrote: > Changed to Bjorn's updated email. > > On Tue, Sep 13, 2022 at 04:30:50PM +0800, Huang Yiwei wrote: >> Hi Leo, >> >> On 9/13/2022 Tue 15:08, Leo Yan wrote: >>> Hi Yiwei, >>> >>> On Tue, Sep 13, 2022 at 02:27:21PM +0800, Huang Yiwei wrote: >>>> Since icc-common.c can be compiled as module, add the missing >>>> MODULE_LICENSE to avoid compile errors. >>> >>> Just curious how you can enable config INTERCONNECT_QCOM as "m" >>> (module)? >>> >>> I checked the config INTERCONNECT_QCOM which is dependent on >>> INTERCONNECT, and INTERCONNECT has below dependency: >>> >>> - DRM_TEGRA [=n] && HAS_IOMEM [=y] && (ARCH_TEGRA [=y] || ARM && COMPILE_TEST [=n]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] >>> - TEGRA_MC [=n] && MEMORY [=y] && (ARCH_TEGRA [=y] || COMPILE_TEST [=n] && COMMON_CLK [=y]) >>> >>> Seems to me, it's impossible to enable INTERCONNECT as "m" because the >>> dependency ARCH_TEGRA/OF/COMMON_CLK cannot be configured as "m". >>> >>> Thanks, >>> Leo >>> >> Found the problem, INTERCONNECT_QCOM is modified to tristate internally >> so we can compile it as a module, and the new added icc-common.c uses >> INTERCONNECT_QCOM config to compile, then cause the problem. > > Thanks for confirmation, Yiwei. > >> So shall we change INTERCONNECT_QCOM config to tristate? > > I personally think modularization is the right thing to do; to avoid > misleading you, I would leave your question to interconnect > maintainers. Thanks for clarifying! It sounds like the right approach. So this should be a single patch that allows icc-common.c to be compiled as a module and also adds MODULE_LICENSE where needed to avoid any compile errors. Thanks, Georgi
diff --git a/drivers/interconnect/qcom/icc-common.c b/drivers/interconnect/qcom/icc-common.c index 0822ce207b5d..f27f4fdc4531 100644 --- a/drivers/interconnect/qcom/icc-common.c +++ b/drivers/interconnect/qcom/icc-common.c @@ -5,6 +5,7 @@ #include <linux/of.h> #include <linux/slab.h> +#include <linux/module.h> #include "icc-common.h" @@ -32,3 +33,5 @@ struct icc_node_data *qcom_icc_xlate_extended(struct of_phandle_args *spec, void return ndata; } EXPORT_SYMBOL_GPL(qcom_icc_xlate_extended); + +MODULE_LICENSE("GPL");
Since icc-common.c can be compiled as module, add the missing MODULE_LICENSE to avoid compile errors. Fixes: cb4805b5a5e4 ("interconnect: qcom: Move qcom_icc_xlate_extended() to a common file") Signed-off-by: Huang Yiwei <quic_hyiwei@quicinc.com> --- drivers/interconnect/qcom/icc-common.c | 3 +++ 1 file changed, 3 insertions(+)