drivers/bluetooth/Kconfig | 6 ++++++ drivers/bluetooth/hci_uart.h | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-)
Some Kconfig dependencies are needed after my recent cleanup, since
the core code has its own option.
Since btmtksdio does not actually call h4_recv_buf(), move the
definitions it uses outside the BT_HCIUART_H4 gate in hci_uart.h to
avoid adding a dependency for btmtksdio.
The rest I touched (bpa10x, btmtkuart, and btnxpuart) do really call
h4_recv_buf(), so the dependency is required, add it for them.
Fixes: 74bcec450eea ("Bluetooth: remove duplicate h4_recv_buf() in header")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202508300413.OnIedvRh-lkp@intel.com/
Signed-off-by: Calvin Owens <calvin@wbinvd.org>
---
drivers/bluetooth/Kconfig | 6 ++++++
drivers/bluetooth/hci_uart.h | 8 ++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 4ab32abf0f48..7df69ccb6600 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -312,7 +312,9 @@ config BT_HCIBCM4377
config BT_HCIBPA10X
tristate "HCI BPA10x USB driver"
+ depends on BT_HCIUART
depends on USB
+ select BT_HCIUART_H4
help
Bluetooth HCI BPA10x USB driver.
This driver provides support for the Digianswer BPA 100/105 Bluetooth
@@ -437,8 +439,10 @@ config BT_MTKSDIO
config BT_MTKUART
tristate "MediaTek HCI UART driver"
+ depends on BT_HCIUART
depends on SERIAL_DEV_BUS
depends on USB || !BT_HCIBTUSB_MTK
+ select BT_HCIUART_H4
select BT_MTK
help
MediaTek Bluetooth HCI UART driver.
@@ -483,7 +487,9 @@ config BT_VIRTIO
config BT_NXPUART
tristate "NXP protocol support"
+ depends on BT_HCIUART
depends on SERIAL_DEV_BUS
+ select BT_HCIUART_H4
select CRC32
select CRC8
help
diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h
index 5ea5dd80e297..cbbe79b241ce 100644
--- a/drivers/bluetooth/hci_uart.h
+++ b/drivers/bluetooth/hci_uart.h
@@ -121,10 +121,6 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool enable);
void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed,
unsigned int oper_speed);
-#ifdef CONFIG_BT_HCIUART_H4
-int h4_init(void);
-int h4_deinit(void);
-
struct h4_recv_pkt {
u8 type; /* Packet type */
u8 hlen; /* Header length */
@@ -162,6 +158,10 @@ struct h4_recv_pkt {
.lsize = 2, \
.maxlen = HCI_MAX_FRAME_SIZE \
+#ifdef CONFIG_BT_HCIUART_H4
+int h4_init(void);
+int h4_deinit(void);
+
struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,
const unsigned char *buffer, int count,
const struct h4_recv_pkt *pkts, int pkts_count);
--
2.47.2
On Tuesday 09/02 at 08:43 -0700, Calvin Owens wrote: > Some Kconfig dependencies are needed after my recent cleanup, since > the core code has its own option. > > Since btmtksdio does not actually call h4_recv_buf(), move the > definitions it uses outside the BT_HCIUART_H4 gate in hci_uart.h to > avoid adding a dependency for btmtksdio. > > The rest I touched (bpa10x, btmtkuart, and btnxpuart) do really call > h4_recv_buf(), so the dependency is required, add it for them. > > Fixes: 74bcec450eea ("Bluetooth: remove duplicate h4_recv_buf() in header") Hi all, My fixes tag was wrong and Stephen's automation caught it in linux-next. I'll send a v3 in response to this with a correct tag, it should be: Fixes: 0e272fc7e17d ("Bluetooth: remove duplicate h4_recv_buf() in header") Thanks, Calvin > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202508300413.OnIedvRh-lkp@intel.com/ > Signed-off-by: Calvin Owens <calvin@wbinvd.org> > --- > drivers/bluetooth/Kconfig | 6 ++++++ > drivers/bluetooth/hci_uart.h | 8 ++++---- > 2 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig > index 4ab32abf0f48..7df69ccb6600 100644 > --- a/drivers/bluetooth/Kconfig > +++ b/drivers/bluetooth/Kconfig > @@ -312,7 +312,9 @@ config BT_HCIBCM4377 > > config BT_HCIBPA10X > tristate "HCI BPA10x USB driver" > + depends on BT_HCIUART > depends on USB > + select BT_HCIUART_H4 > help > Bluetooth HCI BPA10x USB driver. > This driver provides support for the Digianswer BPA 100/105 Bluetooth > @@ -437,8 +439,10 @@ config BT_MTKSDIO > > config BT_MTKUART > tristate "MediaTek HCI UART driver" > + depends on BT_HCIUART > depends on SERIAL_DEV_BUS > depends on USB || !BT_HCIBTUSB_MTK > + select BT_HCIUART_H4 > select BT_MTK > help > MediaTek Bluetooth HCI UART driver. > @@ -483,7 +487,9 @@ config BT_VIRTIO > > config BT_NXPUART > tristate "NXP protocol support" > + depends on BT_HCIUART > depends on SERIAL_DEV_BUS > + select BT_HCIUART_H4 > select CRC32 > select CRC8 > help > diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h > index 5ea5dd80e297..cbbe79b241ce 100644 > --- a/drivers/bluetooth/hci_uart.h > +++ b/drivers/bluetooth/hci_uart.h > @@ -121,10 +121,6 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool enable); > void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed, > unsigned int oper_speed); > > -#ifdef CONFIG_BT_HCIUART_H4 > -int h4_init(void); > -int h4_deinit(void); > - > struct h4_recv_pkt { > u8 type; /* Packet type */ > u8 hlen; /* Header length */ > @@ -162,6 +158,10 @@ struct h4_recv_pkt { > .lsize = 2, \ > .maxlen = HCI_MAX_FRAME_SIZE \ > > +#ifdef CONFIG_BT_HCIUART_H4 > +int h4_init(void); > +int h4_deinit(void); > + > struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb, > const unsigned char *buffer, int count, > const struct h4_recv_pkt *pkts, int pkts_count); > -- > 2.47.2 >
Some Kconfig dependencies are needed after my recent cleanup, since
the core code has its own option.
Since btmtksdio does not actually call h4_recv_buf(), move the
definitions it uses outside the BT_HCIUART_H4 gate in hci_uart.h to
avoid adding a dependency for btmtksdio.
The rest I touched (bpa10x, btmtkuart, and btnxpuart) do really call
h4_recv_buf(), so the dependency is required, add it for them.
Fixes: 0e272fc7e17d ("Bluetooth: remove duplicate h4_recv_buf() in header")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202508300413.OnIedvRh-lkp@intel.com/
Signed-off-by: Calvin Owens <calvin@wbinvd.org>
---
drivers/bluetooth/Kconfig | 6 ++++++
drivers/bluetooth/hci_uart.h | 8 ++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 4ab32abf0f48..7df69ccb6600 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -312,7 +312,9 @@ config BT_HCIBCM4377
config BT_HCIBPA10X
tristate "HCI BPA10x USB driver"
+ depends on BT_HCIUART
depends on USB
+ select BT_HCIUART_H4
help
Bluetooth HCI BPA10x USB driver.
This driver provides support for the Digianswer BPA 100/105 Bluetooth
@@ -437,8 +439,10 @@ config BT_MTKSDIO
config BT_MTKUART
tristate "MediaTek HCI UART driver"
+ depends on BT_HCIUART
depends on SERIAL_DEV_BUS
depends on USB || !BT_HCIBTUSB_MTK
+ select BT_HCIUART_H4
select BT_MTK
help
MediaTek Bluetooth HCI UART driver.
@@ -483,7 +487,9 @@ config BT_VIRTIO
config BT_NXPUART
tristate "NXP protocol support"
+ depends on BT_HCIUART
depends on SERIAL_DEV_BUS
+ select BT_HCIUART_H4
select CRC32
select CRC8
help
diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h
index 5ea5dd80e297..cbbe79b241ce 100644
--- a/drivers/bluetooth/hci_uart.h
+++ b/drivers/bluetooth/hci_uart.h
@@ -121,10 +121,6 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool enable);
void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed,
unsigned int oper_speed);
-#ifdef CONFIG_BT_HCIUART_H4
-int h4_init(void);
-int h4_deinit(void);
-
struct h4_recv_pkt {
u8 type; /* Packet type */
u8 hlen; /* Header length */
@@ -162,6 +158,10 @@ struct h4_recv_pkt {
.lsize = 2, \
.maxlen = HCI_MAX_FRAME_SIZE \
+#ifdef CONFIG_BT_HCIUART_H4
+int h4_init(void);
+int h4_deinit(void);
+
struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,
const unsigned char *buffer, int count,
const struct h4_recv_pkt *pkts, int pkts_count);
--
2.47.2
Dear Calvin, Thank you for the patch. Am 03.09.25 um 16:06 schrieb Calvin Owens: > Some Kconfig dependencies are needed after my recent cleanup, since > the core code has its own option. > > Since btmtksdio does not actually call h4_recv_buf(), move the > definitions it uses outside the BT_HCIUART_H4 gate in hci_uart.h to > avoid adding a dependency for btmtksdio. > > The rest I touched (bpa10x, btmtkuart, and btnxpuart) do really call > h4_recv_buf(), so the dependency is required, add it for them. > > Fixes: 0e272fc7e17d ("Bluetooth: remove duplicate h4_recv_buf() in header") > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202508300413.OnIedvRh-lkp@intel.com/ > Signed-off-by: Calvin Owens <calvin@wbinvd.org> > --- > drivers/bluetooth/Kconfig | 6 ++++++ > drivers/bluetooth/hci_uart.h | 8 ++++---- > 2 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig > index 4ab32abf0f48..7df69ccb6600 100644 > --- a/drivers/bluetooth/Kconfig > +++ b/drivers/bluetooth/Kconfig > @@ -312,7 +312,9 @@ config BT_HCIBCM4377 > > config BT_HCIBPA10X > tristate "HCI BPA10x USB driver" > + depends on BT_HCIUART > depends on USB > + select BT_HCIUART_H4 > help > Bluetooth HCI BPA10x USB driver. > This driver provides support for the Digianswer BPA 100/105 Bluetooth > @@ -437,8 +439,10 @@ config BT_MTKSDIO > > config BT_MTKUART > tristate "MediaTek HCI UART driver" > + depends on BT_HCIUART > depends on SERIAL_DEV_BUS > depends on USB || !BT_HCIBTUSB_MTK > + select BT_HCIUART_H4 > select BT_MTK > help > MediaTek Bluetooth HCI UART driver. > @@ -483,7 +487,9 @@ config BT_VIRTIO > > config BT_NXPUART > tristate "NXP protocol support" > + depends on BT_HCIUART > depends on SERIAL_DEV_BUS > + select BT_HCIUART_H4 > select CRC32 > select CRC8 > help > diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h > index 5ea5dd80e297..cbbe79b241ce 100644 > --- a/drivers/bluetooth/hci_uart.h > +++ b/drivers/bluetooth/hci_uart.h > @@ -121,10 +121,6 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool enable); > void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed, > unsigned int oper_speed); > > -#ifdef CONFIG_BT_HCIUART_H4 > -int h4_init(void); > -int h4_deinit(void); > - > struct h4_recv_pkt { > u8 type; /* Packet type */ > u8 hlen; /* Header length */ > @@ -162,6 +158,10 @@ struct h4_recv_pkt { > .lsize = 2, \ > .maxlen = HCI_MAX_FRAME_SIZE \ > > +#ifdef CONFIG_BT_HCIUART_H4 > +int h4_init(void); > +int h4_deinit(void); > + > struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb, > const unsigned char *buffer, int count, > const struct h4_recv_pkt *pkts, int pkts_count); Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Kind regards, Paul
© 2016 - 2025 Red Hat, Inc.