On Mon 13 Mar 09:06 PDT 2017, Arnd Bergmann wrote:

> compile-testing fails when QCOM_SMD is a loadable module:
> 
> drivers/bluetooth/built-in.o: In function `btqcomsmd_send':
> btqca.c:(.text+0xa8): undefined reference to `qcom_smd_send'
> drivers/bluetooth/built-in.o: In function `btqcomsmd_probe':
> btqca.c:(.text+0x3ec): undefined reference to `qcom_wcnss_open_channel'
> btqca.c:(.text+0x46c): undefined reference to `qcom_smd_set_drvdata'
> 
> This clarifies the dependency to allow compile-testing only when
> SMD is completely disabled, otherwise the dependency on QCOM_SMD
> will make sure we can link against it.
> 
> Fixes: e27ee2b16bad ("Bluetooth: btqcomsmd: Allow driver to build if 
> COMPILE_TEST is enabled")
> Signed-off-by: Arnd Bergmann <a...@arndb.de>
> Reviewed-by: Javier Martinez Canillas <jav...@osg.samsung.com>

Sorry for the slow response, wanted to make some test-builds before
answering this.

It's valid to set:
COMPILE_TEST=y
QCOM_SMD=y
WCNSS_CTRL=m
BT_QCOMSMD=y

which will cause the qcom_wcnss_open_channel issue above to remain.

For the wcn36xx driver we cover both with:
        depends on QCOM_WCNSS_CTRL || QCOM_WCNSS_CTRL=n
        depends on QCOM_SMD || QCOM_SMD=n

The ath-maintainers  didn't want COMPILE_TEST due to some unrelated
reasons, but I think it's better to express it in two statements, i.e. 

        depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
        depends on QCOM_SMD || (COMPILE_TEST && QCOM_SMD=n)

Regards,
Bjorn

> ---
> Sent on March 1 2017 originally, still needed for v4.11-rc2
> ---
>  drivers/bluetooth/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
> index c2c14a12713b..2ef2b240b31b 100644
> --- a/drivers/bluetooth/Kconfig
> +++ b/drivers/bluetooth/Kconfig
> @@ -344,7 +344,7 @@ config BT_WILINK
>  
>  config BT_QCOMSMD
>       tristate "Qualcomm SMD based HCI support"
> -     depends on (QCOM_SMD && QCOM_WCNSS_CTRL) || COMPILE_TEST
> +     depends on (QCOM_SMD && QCOM_WCNSS_CTRL) || (COMPILE_TEST && QCOM_SMD=n)
>       select BT_QCA
>       help
>         Qualcomm SMD based HCI driver.
> -- 
> 2.9.0
> 

Reply via email to