Re: [PATCH] remoteproc: fix linking against QMP

From: Stephen Boyd
Date: Wed Oct 20 2021 - 00:23:50 EST


Quoting Arnd Bergmann (2021-10-19 08:38:04)
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> With QCOM_AOSS_QMP=m, the built-in q6v5 code fails to link:
>
> ld.lld: error: undefined symbol: qmp_send
> >>> referenced by qcom_q6v5.c
> >>> remoteproc/qcom_q6v5.o:(q6v5_load_state_toggle) in archive drivers/built-in.a
>
> ld.lld: error: undefined symbol: qmp_get
> >>> referenced by qcom_q6v5.c
> >>> remoteproc/qcom_q6v5.o:(qcom_q6v5_init) in archive drivers/built-in.a
>
> ld.lld: error: undefined symbol: qmp_put
> >>> referenced by qcom_q6v5.c
> >>> remoteproc/qcom_q6v5.o:(qcom_q6v5_init) in archive drivers/built-in.a
> >>> referenced by qcom_q6v5.c
> >>> remoteproc/qcom_q6v5.o:(qcom_q6v5_deinit) in archive drivers/built-in.a
>
> Apparently it is meant to work without that code, so add
> another hacky dependency to prevent the broken link, but
> explicitly allow it to be built without QCOM_AOSS_QMP.
>
> QCOM_Q6V5_COMMON is a hidden symbol, but add the dependency
> there anyway to give a hint in case another user comes up and
> misses gets this wrong again.
>
> Fixes: c1fe10d238c0 ("remoteproc: qcom: q6v5: Use qmp_send to update co-processor load state")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---

Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>