All of lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND PATCH] Bluetooth: btqcomsmd: fix compile-test dependency
@ 2017-03-13 16:06 Arnd Bergmann
  2017-03-20 21:36 ` Bjorn Andersson
  0 siblings, 1 reply; 3+ messages in thread
From: Arnd Bergmann @ 2017-03-13 16:06 UTC (permalink / raw)
  To: Marcel Holtmann, Gustavo Padovan, Johan Hedberg
  Cc: Arnd Bergmann, Bjorn Andersson, Javier Martinez Canillas,
	Loic Poulain, linux-bluetooth, linux-kernel

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 <arnd@arndb.de>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
---
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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [RESEND PATCH] Bluetooth: btqcomsmd: fix compile-test dependency
  2017-03-13 16:06 [RESEND PATCH] Bluetooth: btqcomsmd: fix compile-test dependency Arnd Bergmann
@ 2017-03-20 21:36 ` Bjorn Andersson
  2017-03-20 21:44   ` Arnd Bergmann
  0 siblings, 1 reply; 3+ messages in thread
From: Bjorn Andersson @ 2017-03-20 21:36 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Marcel Holtmann, Gustavo Padovan, Johan Hedberg, Bjorn Andersson,
	Javier Martinez Canillas, Loic Poulain, linux-bluetooth,
	linux-kernel

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 <arnd@arndb.de>
> Reviewed-by: Javier Martinez Canillas <javier@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
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RESEND PATCH] Bluetooth: btqcomsmd: fix compile-test dependency
  2017-03-20 21:36 ` Bjorn Andersson
@ 2017-03-20 21:44   ` Arnd Bergmann
  0 siblings, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2017-03-20 21:44 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Marcel Holtmann, Gustavo Padovan, Johan Hedberg, Bjorn Andersson,
	Javier Martinez Canillas, Loic Poulain, linux-bluetooth,
	Linux Kernel Mailing List

On Mon, Mar 20, 2017 at 10:36 PM, Bjorn Andersson
<bjorn.andersson@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 <arnd@arndb.de>
>> Reviewed-by: Javier Martinez Canillas <javier@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-20 21:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-13 16:06 [RESEND PATCH] Bluetooth: btqcomsmd: fix compile-test dependency Arnd Bergmann
2017-03-20 21:36 ` Bjorn Andersson
2017-03-20 21:44   ` Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.