diff mbox series

firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL=m

Message ID 20241016013922.1392290-1-zengheng4@huawei.com (mailing list archive)
State New, archived
Headers show
Series firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL=m | expand

Commit Message

Zeng Heng Oct. 16, 2024, 1:39 a.m. UTC
When build with CONFIG_TI_SCI_PROTOCOL=m && CONFIG_TI_K3_M4_REMOTEPROC=y,
compilation tool chain would throw the following error message:

   arm-linux-gnueabi-ld: drivers/remoteproc/ti_k3_m4_remoteproc.o:
   in function `k3_m4_rproc_probe':
   ti_k3_m4_remoteproc.c:(.text+0xc24):
   undefined reference to `devm_ti_sci_get_by_phandle'

This is because devm_ti_sci_get_by_phandle() is compiled into the driver
module rather than compiled into kernel, it causes compilation couldn't
find the reference of devm_ti_sci_get_by_phandle() when tool chain tries
to link ti_k3_m4_remoteproc.o into kernel image.

Replace IS_ENABLED with IS_REACHABLE to fix the problem.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/all/202410150837.FOGlkGvW-lkp@intel.com/
Fixes: aa276781a64a ("firmware: Add basic support for TI System Control Interface (TI-SCI) protocol")
Signed-off-by: Zeng Heng <zengheng4@huawei.com>
---
 include/linux/soc/ti/ti_sci_protocol.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mathieu Poirier Oct. 16, 2024, 4:03 p.m. UTC | #1
On Wed, Oct 16, 2024 at 09:39:22AM +0800, Zeng Heng wrote:
> When build with CONFIG_TI_SCI_PROTOCOL=m && CONFIG_TI_K3_M4_REMOTEPROC=y,
> compilation tool chain would throw the following error message:
> 
>    arm-linux-gnueabi-ld: drivers/remoteproc/ti_k3_m4_remoteproc.o:
>    in function `k3_m4_rproc_probe':
>    ti_k3_m4_remoteproc.c:(.text+0xc24):
>    undefined reference to `devm_ti_sci_get_by_phandle'
> 
> This is because devm_ti_sci_get_by_phandle() is compiled into the driver
> module rather than compiled into kernel, it causes compilation couldn't
> find the reference of devm_ti_sci_get_by_phandle() when tool chain tries
> to link ti_k3_m4_remoteproc.o into kernel image.
> 
> Replace IS_ENABLED with IS_REACHABLE to fix the problem.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/all/202410150837.FOGlkGvW-lkp@intel.com/
> Fixes: aa276781a64a ("firmware: Add basic support for TI System Control Interface (TI-SCI) protocol")
> Signed-off-by: Zeng Heng <zengheng4@huawei.com>
> ---
>  include/linux/soc/ti/ti_sci_protocol.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h
> index bd0d11af76c5..cd44ee7f294b 100644
> --- a/include/linux/soc/ti/ti_sci_protocol.h
> +++ b/include/linux/soc/ti/ti_sci_protocol.h
> @@ -572,7 +572,7 @@ struct ti_sci_resource {
>  	struct ti_sci_resource_desc *desc;
>  };
>  
> -#if IS_ENABLED(CONFIG_TI_SCI_PROTOCOL)
> +#if IS_REACHABLE(CONFIG_TI_SCI_PROTOCOL)

I have applied Arnd's patch [1] to fix this problem.

Thanks,
Mathieu

[1]. https://lore.kernel.org/lkml/e6c84b91-20ce-474a-87f8-9faeb64f3724@app.fastmail.com/T/

>  const struct ti_sci_handle *ti_sci_get_handle(struct device *dev);
>  int ti_sci_put_handle(const struct ti_sci_handle *handle);
>  const struct ti_sci_handle *devm_ti_sci_get_handle(struct device *dev);
> -- 
> 2.25.1
> 
>
diff mbox series

Patch

diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h
index bd0d11af76c5..cd44ee7f294b 100644
--- a/include/linux/soc/ti/ti_sci_protocol.h
+++ b/include/linux/soc/ti/ti_sci_protocol.h
@@ -572,7 +572,7 @@  struct ti_sci_resource {
 	struct ti_sci_resource_desc *desc;
 };
 
-#if IS_ENABLED(CONFIG_TI_SCI_PROTOCOL)
+#if IS_REACHABLE(CONFIG_TI_SCI_PROTOCOL)
 const struct ti_sci_handle *ti_sci_get_handle(struct device *dev);
 int ti_sci_put_handle(const struct ti_sci_handle *handle);
 const struct ti_sci_handle *devm_ti_sci_get_handle(struct device *dev);