linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Bluetooth: btmtk: add USB dependencies
@ 2024-07-19 10:05 Arnd Bergmann
  2024-07-19 15:08 ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 3+ messages in thread
From: Arnd Bergmann @ 2024-07-19 10:05 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz, Matthias Brugger,
	AngeloGioacchino Del Regno, Sean Wang
  Cc: Arnd Bergmann, Sven Peter, Tedd Ho-Jeong An, Hector Martin,
	Krzysztof Kozlowski, Niklas Schnelle, linux-bluetooth,
	linux-kernel, linux-arm-kernel, linux-mediatek

From: Arnd Bergmann <arnd@arndb.de>

The mediatek bluetooth drivers have a common portion that is now used for
all front-ends (usb, sdio, uart) but that internally relies on USB
interface functions:

ERROR: modpost: "usb_alloc_urb" [drivers/bluetooth/btmtk.ko] undefined!
ERROR: modpost: "usb_anchor_urb" [drivers/bluetooth/btmtk.ko] undefined!
ERROR: modpost: "usb_submit_urb" [drivers/bluetooth/btmtk.ko] undefined!
ERROR: modpost: "usb_free_urb" [drivers/bluetooth/btmtk.ko] undefined!
ERROR: modpost: "usb_unanchor_urb" [drivers/bluetooth/btmtk.ko] undefined!
ERROR: modpost: "usb_kill_anchored_urbs" [drivers/bluetooth/btmtk.ko] undefined!
ERROR: modpost: "usb_set_interface" [drivers/bluetooth/btmtk.ko] undefined!
ERROR: modpost: "usb_control_msg" [drivers/bluetooth/btmtk.ko] undefined!

It would be possible to split this up further, but in practice anything
that uses this driver will have USB enabled anyway and it only matters
for build testing, so just go with a much stricter dependency.

Fixes: f5c3f98946e3 ("Bluetooth: btmtkuart: rely on BT_MTK module")
Fixes: 3a722044aacf ("Bluetooth: btmtksido: rely on BT_MTK module")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/bluetooth/Kconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 44a2de58337b..2894a345562c 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -21,6 +21,7 @@ config BT_QCA
 
 config BT_MTK
 	tristate
+	depends on USB
 	select FW_LOADER
 
 config BT_HCIBTUSB
@@ -413,6 +414,7 @@ config BT_ATH3K
 config BT_MTKSDIO
 	tristate "MediaTek HCI SDIO driver"
 	depends on MMC
+	depends on USB
 	select BT_MTK
 	help
 	  MediaTek Bluetooth HCI SDIO driver.
@@ -425,6 +427,7 @@ config BT_MTKSDIO
 config BT_MTKUART
 	tristate "MediaTek HCI UART driver"
 	depends on SERIAL_DEV_BUS
+	depends on USB
 	select BT_MTK
 	help
 	  MediaTek Bluetooth HCI UART driver.
-- 
2.39.2



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

* Re: [PATCH] Bluetooth: btmtk: add USB dependencies
  2024-07-19 10:05 [PATCH] Bluetooth: btmtk: add USB dependencies Arnd Bergmann
@ 2024-07-19 15:08 ` Luiz Augusto von Dentz
  2024-07-19 15:21   ` Arnd Bergmann
  0 siblings, 1 reply; 3+ messages in thread
From: Luiz Augusto von Dentz @ 2024-07-19 15:08 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Marcel Holtmann, Matthias Brugger, AngeloGioacchino Del Regno,
	Sean Wang, Arnd Bergmann, Sven Peter, Tedd Ho-Jeong An,
	Hector Martin, Krzysztof Kozlowski, Niklas Schnelle,
	linux-bluetooth, linux-kernel, linux-arm-kernel, linux-mediatek

Hi Arnd,

On Fri, Jul 19, 2024 at 6:06 AM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> The mediatek bluetooth drivers have a common portion that is now used for
> all front-ends (usb, sdio, uart) but that internally relies on USB
> interface functions:
>
> ERROR: modpost: "usb_alloc_urb" [drivers/bluetooth/btmtk.ko] undefined!
> ERROR: modpost: "usb_anchor_urb" [drivers/bluetooth/btmtk.ko] undefined!
> ERROR: modpost: "usb_submit_urb" [drivers/bluetooth/btmtk.ko] undefined!
> ERROR: modpost: "usb_free_urb" [drivers/bluetooth/btmtk.ko] undefined!
> ERROR: modpost: "usb_unanchor_urb" [drivers/bluetooth/btmtk.ko] undefined!
> ERROR: modpost: "usb_kill_anchored_urbs" [drivers/bluetooth/btmtk.ko] undefined!
> ERROR: modpost: "usb_set_interface" [drivers/bluetooth/btmtk.ko] undefined!
> ERROR: modpost: "usb_control_msg" [drivers/bluetooth/btmtk.ko] undefined!
>
> It would be possible to split this up further, but in practice anything
> that uses this driver will have USB enabled anyway and it only matters
> for build testing, so just go with a much stricter dependency.
>
> Fixes: f5c3f98946e3 ("Bluetooth: btmtkuart: rely on BT_MTK module")
> Fixes: 3a722044aacf ("Bluetooth: btmtksido: rely on BT_MTK module")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/bluetooth/Kconfig | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
> index 44a2de58337b..2894a345562c 100644
> --- a/drivers/bluetooth/Kconfig
> +++ b/drivers/bluetooth/Kconfig
> @@ -21,6 +21,7 @@ config BT_QCA
>
>  config BT_MTK
>         tristate
> +       depends on USB
>         select FW_LOADER
>
>  config BT_HCIBTUSB
> @@ -413,6 +414,7 @@ config BT_ATH3K
>  config BT_MTKSDIO
>         tristate "MediaTek HCI SDIO driver"
>         depends on MMC
> +       depends on USB
>         select BT_MTK
>         help
>           MediaTek Bluetooth HCI SDIO driver.
> @@ -425,6 +427,7 @@ config BT_MTKSDIO
>  config BT_MTKUART
>         tristate "MediaTek HCI UART driver"
>         depends on SERIAL_DEV_BUS
> +       depends on USB
>         select BT_MTK
>         help
>           MediaTek Bluetooth HCI UART driver.
> --
> 2.39.2

Thanks for the fix, but we went with a different one:
https://patchwork.kernel.org/project/bluetooth/patch/20240719033019.26767-1-chris.lu@mediatek.com/

-- 
Luiz Augusto von Dentz


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

* Re: [PATCH] Bluetooth: btmtk: add USB dependencies
  2024-07-19 15:08 ` Luiz Augusto von Dentz
@ 2024-07-19 15:21   ` Arnd Bergmann
  0 siblings, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2024-07-19 15:21 UTC (permalink / raw)
  To: Luiz Augusto von Dentz, Arnd Bergmann
  Cc: Marcel Holtmann, Matthias Brugger, AngeloGioacchino Del Regno,
	Sean Wang, Sven Peter, Tedd Ho-Jeong An, Hector Martin,
	Krzysztof Kozlowski, Niklas Schnelle, linux-bluetooth,
	linux-kernel, linux-arm-kernel, linux-mediatek

On Fri, Jul 19, 2024, at 17:08, Luiz Augusto von Dentz wrote:
> On Fri, Jul 19, 2024 at 6:06 AM Arnd Bergmann <arnd@kernel.org> wrote:
>
> Thanks for the fix, but we went with a different one:
> https://patchwork.kernel.org/project/bluetooth/patch/20240719033019.26767-1-chris.lu@mediatek.com/

I thought about doing that at first, but I believe this is still
broken for a configuration with CONFIG_USB=m, CONFIG_BT_HCIBTUSB=m,
CONFIG_MMC=y, CONFIG_BT_MTKSDIO=y. I haven't tried this, but I
think this should result in a CONFIG_BT_MTK=y with the common
module being built-in but unable to link against the USB module.

      Arnd


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

end of thread, other threads:[~2024-07-19 15:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-19 10:05 [PATCH] Bluetooth: btmtk: add USB dependencies Arnd Bergmann
2024-07-19 15:08 ` Luiz Augusto von Dentz
2024-07-19 15:21   ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).