On Mon, Mar 20, 2017 at 10:36 PM, Bjorn Andersson <bjorn.anders...@linaro.org> wrote: > 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)
Agreed, that looks cleaner. AFAICT the effect is the same as in my version, as QCOM_WCNSS_CTRL is a tristate symbol and also depends on QCOM_SMD (so QCOM_WCNSS_CTRL=y implies QCOM_SMD=y, and QCOM_WCNSS_CTRL=m implies QCOM_SMD=(y||m). Can you send the updated patch? Arnd