* [PATCH] Bluetooth: btmtksdio: Fix build after header cleanup [not found] <202508300413.OnIedvRh-lkp@intel.com> @ 2025-08-30 0:50 ` Calvin Owens 2025-08-30 5:11 ` Paul Menzel 0 siblings, 1 reply; 10+ messages in thread From: Calvin Owens @ 2025-08-30 0:50 UTC (permalink / raw) To: linux-kernel Cc: linux-bluetooth, Luiz Augusto von Dentz, Paul Menzel, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek Syzbot found a randconfig which fails after my recent patch: drivers/bluetooth/btmtksdio.c:442:33: error: array type has incomplete element type ‘struct h4_recv_pkt’ 442 | static const struct h4_recv_pkt mtk_recv_pkts[] = { | ^~~~~~~~~~~~~ drivers/bluetooth/btmtksdio.c:443:11: error: ‘H4_RECV_ACL’ undeclared here (not in a function) 443 | { H4_RECV_ACL, .recv = btmtksdio_recv_acl }, | ^~~~~~~~~~~ drivers/bluetooth/btmtksdio.c:444:11: error: ‘H4_RECV_SCO’ undeclared here (not in a function) 444 | { H4_RECV_SCO, .recv = hci_recv_frame }, | ^~~~~~~~~~~ drivers/bluetooth/btmtksdio.c:445:11: error: ‘H4_RECV_EVENT’ undeclared here (not in a function) 445 | { H4_RECV_EVENT, .recv = btmtksdio_recv_event }, ...because we can have BT_MTKSDIO=y with BT_HCIUART_H4=n, and the definitions used here are gated on BT_HCIUART_H4 in hci_uart.h. I think the simplest way to fix this is to remove the gate on the definitions in hci_uart.h. Since the constants are macros, there's no runtime cost to doing so, and nothing seems to rely on their absence in the BT_HCIUART_H4=n case. I let randconfig builds run for awhile in drivers/bluetooth/ and didn't hit anything else, so hopefully this was the only fallout. 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/hci_uart.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h index 5ea5dd80e297..fd0624988aba 100644 --- a/drivers/bluetooth/hci_uart.h +++ b/drivers/bluetooth/hci_uart.h @@ -121,7 +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); @@ -165,7 +164,6 @@ struct h4_recv_pkt { 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); -#endif #ifdef CONFIG_BT_HCIUART_BCSP int bcsp_init(void); -- 2.49.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] Bluetooth: btmtksdio: Fix build after header cleanup 2025-08-30 0:50 ` [PATCH] Bluetooth: btmtksdio: Fix build after header cleanup Calvin Owens @ 2025-08-30 5:11 ` Paul Menzel 2025-08-30 19:32 ` Calvin Owens 0 siblings, 1 reply; 10+ messages in thread From: Paul Menzel @ 2025-08-30 5:11 UTC (permalink / raw) To: Calvin Owens Cc: linux-kernel, linux-bluetooth, Luiz Augusto von Dentz, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek Dear Calvin, Thank you for your patch, and addressing the regression right away. Am 30.08.25 um 02:50 schrieb Calvin Owens: > Syzbot found a randconfig which fails after my recent patch: > > drivers/bluetooth/btmtksdio.c:442:33: error: array type has incomplete element type ‘struct h4_recv_pkt’ > 442 | static const struct h4_recv_pkt mtk_recv_pkts[] = { > | ^~~~~~~~~~~~~ > drivers/bluetooth/btmtksdio.c:443:11: error: ‘H4_RECV_ACL’ undeclared here (not in a function) > 443 | { H4_RECV_ACL, .recv = btmtksdio_recv_acl }, > | ^~~~~~~~~~~ > drivers/bluetooth/btmtksdio.c:444:11: error: ‘H4_RECV_SCO’ undeclared here (not in a function) > 444 | { H4_RECV_SCO, .recv = hci_recv_frame }, > | ^~~~~~~~~~~ > drivers/bluetooth/btmtksdio.c:445:11: error: ‘H4_RECV_EVENT’ undeclared here (not in a function) > 445 | { H4_RECV_EVENT, .recv = btmtksdio_recv_event }, > > ...because we can have BT_MTKSDIO=y with BT_HCIUART_H4=n, and the > definitions used here are gated on BT_HCIUART_H4 in hci_uart.h. The drivers below seem to be affected: drivers/bluetooth/bpa10x.c: { H4_RECV_EVENT, .recv = hci_recv_frame }, drivers/bluetooth/btmtksdio.c: { H4_RECV_EVENT, .recv = btmtksdio_recv_event }, drivers/bluetooth/btmtkuart.c: { H4_RECV_EVENT, .recv = btmtkuart_recv_event }, drivers/bluetooth/btnxpuart.c: { H4_RECV_EVENT, .recv = hci_recv_frame }, > I think the simplest way to fix this is to remove the gate on the > definitions in hci_uart.h. Since the constants are macros, there's no > runtime cost to doing so, and nothing seems to rely on their absence in > the BT_HCIUART_H4=n case. Looking at the implementation, it looks like they only work with the H4 protocol? So maybe, that should be denoted in the Kconfig files? > I let randconfig builds run for awhile in drivers/bluetooth/ and didn't > hit anything else, so hopefully this was the only fallout. > > 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/hci_uart.h | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h > index 5ea5dd80e297..fd0624988aba 100644 > --- a/drivers/bluetooth/hci_uart.h > +++ b/drivers/bluetooth/hci_uart.h > @@ -121,7 +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); > > @@ -165,7 +164,6 @@ struct h4_recv_pkt { > 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); > -#endif > > #ifdef CONFIG_BT_HCIUART_BCSP > int bcsp_init(void); It’s a valid fix. Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Kind regards, Paul ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Bluetooth: btmtksdio: Fix build after header cleanup 2025-08-30 5:11 ` Paul Menzel @ 2025-08-30 19:32 ` Calvin Owens 2025-09-02 15:29 ` Luiz Augusto von Dentz 0 siblings, 1 reply; 10+ messages in thread From: Calvin Owens @ 2025-08-30 19:32 UTC (permalink / raw) To: Paul Menzel Cc: linux-kernel, linux-bluetooth, Luiz Augusto von Dentz, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek On Saturday 08/30 at 07:11 +0200, Paul Menzel wrote: > Dear Calvin, > > > Thank you for your patch, and addressing the regression right away. > > Am 30.08.25 um 02:50 schrieb Calvin Owens: > > Syzbot found a randconfig which fails after my recent patch: > > > > drivers/bluetooth/btmtksdio.c:442:33: error: array type has incomplete element type ‘struct h4_recv_pkt’ > > 442 | static const struct h4_recv_pkt mtk_recv_pkts[] = { > > | ^~~~~~~~~~~~~ > > drivers/bluetooth/btmtksdio.c:443:11: error: ‘H4_RECV_ACL’ undeclared here (not in a function) > > 443 | { H4_RECV_ACL, .recv = btmtksdio_recv_acl }, > > | ^~~~~~~~~~~ > > drivers/bluetooth/btmtksdio.c:444:11: error: ‘H4_RECV_SCO’ undeclared here (not in a function) > > 444 | { H4_RECV_SCO, .recv = hci_recv_frame }, > > | ^~~~~~~~~~~ > > drivers/bluetooth/btmtksdio.c:445:11: error: ‘H4_RECV_EVENT’ undeclared here (not in a function) > > 445 | { H4_RECV_EVENT, .recv = btmtksdio_recv_event }, > > > > ...because we can have BT_MTKSDIO=y with BT_HCIUART_H4=n, and the > > definitions used here are gated on BT_HCIUART_H4 in hci_uart.h. > > The drivers below seem to be affected: > > drivers/bluetooth/bpa10x.c: { H4_RECV_EVENT, .recv = > hci_recv_frame }, > drivers/bluetooth/btmtksdio.c: { H4_RECV_EVENT, .recv = > btmtksdio_recv_event }, > drivers/bluetooth/btmtkuart.c: { H4_RECV_EVENT, .recv = > btmtkuart_recv_event }, > drivers/bluetooth/btnxpuart.c: { H4_RECV_EVENT, .recv = > hci_recv_frame }, > > > I think the simplest way to fix this is to remove the gate on the > > definitions in hci_uart.h. Since the constants are macros, there's no > > runtime cost to doing so, and nothing seems to rely on their absence in > > the BT_HCIUART_H4=n case. > > Looking at the implementation, it looks like they only work with the H4 > protocol? So maybe, that should be denoted in the Kconfig files? Thanks for looking Paul. Yes, my fix will cause a link error with other randconfigs, which my 'make randconfig drivers/bluetooth/' test loop missed after I made the function prototype always defined, whoops. We do need the dependencies here, as you note. The btmtksdio case syzbot found is the odd one out because it only uses the constants, and doesn't call h4_recv_buf(). Hopefully this gets it all: -----8<----- From: Calvin Owens <calvin@wbinvd.org> Subject: [PATCH v2] Bluetooth: Fix build after header cleanup 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 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] Bluetooth: btmtksdio: Fix build after header cleanup 2025-08-30 19:32 ` Calvin Owens @ 2025-09-02 15:29 ` Luiz Augusto von Dentz 2025-09-02 15:43 ` [PATCH v2] Bluetooth: " Calvin Owens 0 siblings, 1 reply; 10+ messages in thread From: Luiz Augusto von Dentz @ 2025-09-02 15:29 UTC (permalink / raw) To: Calvin Owens Cc: Paul Menzel, linux-kernel, linux-bluetooth, Luiz Augusto von Dentz, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek Hi Calvin, On Sat, Aug 30, 2025 at 3:32 PM Calvin Owens <calvin@wbinvd.org> wrote: > > On Saturday 08/30 at 07:11 +0200, Paul Menzel wrote: > > Dear Calvin, > > > > > > Thank you for your patch, and addressing the regression right away. > > > > Am 30.08.25 um 02:50 schrieb Calvin Owens: > > > Syzbot found a randconfig which fails after my recent patch: > > > > > > drivers/bluetooth/btmtksdio.c:442:33: error: array type has incomplete element type ‘struct h4_recv_pkt’ > > > 442 | static const struct h4_recv_pkt mtk_recv_pkts[] = { > > > | ^~~~~~~~~~~~~ > > > drivers/bluetooth/btmtksdio.c:443:11: error: ‘H4_RECV_ACL’ undeclared here (not in a function) > > > 443 | { H4_RECV_ACL, .recv = btmtksdio_recv_acl }, > > > | ^~~~~~~~~~~ > > > drivers/bluetooth/btmtksdio.c:444:11: error: ‘H4_RECV_SCO’ undeclared here (not in a function) > > > 444 | { H4_RECV_SCO, .recv = hci_recv_frame }, > > > | ^~~~~~~~~~~ > > > drivers/bluetooth/btmtksdio.c:445:11: error: ‘H4_RECV_EVENT’ undeclared here (not in a function) > > > 445 | { H4_RECV_EVENT, .recv = btmtksdio_recv_event }, > > > > > > ...because we can have BT_MTKSDIO=y with BT_HCIUART_H4=n, and the > > > definitions used here are gated on BT_HCIUART_H4 in hci_uart.h. > > > > The drivers below seem to be affected: > > > > drivers/bluetooth/bpa10x.c: { H4_RECV_EVENT, .recv = > > hci_recv_frame }, > > drivers/bluetooth/btmtksdio.c: { H4_RECV_EVENT, .recv = > > btmtksdio_recv_event }, > > drivers/bluetooth/btmtkuart.c: { H4_RECV_EVENT, .recv = > > btmtkuart_recv_event }, > > drivers/bluetooth/btnxpuart.c: { H4_RECV_EVENT, .recv = > > hci_recv_frame }, > > > > > I think the simplest way to fix this is to remove the gate on the > > > definitions in hci_uart.h. Since the constants are macros, there's no > > > runtime cost to doing so, and nothing seems to rely on their absence in > > > the BT_HCIUART_H4=n case. > > > > Looking at the implementation, it looks like they only work with the H4 > > protocol? So maybe, that should be denoted in the Kconfig files? > > Thanks for looking Paul. > > Yes, my fix will cause a link error with other randconfigs, which my > 'make randconfig drivers/bluetooth/' test loop missed after I made the > function prototype always defined, whoops. > > We do need the dependencies here, as you note. The btmtksdio case syzbot > found is the odd one out because it only uses the constants, and doesn't > call h4_recv_buf(). > > Hopefully this gets it all: > > -----8<----- > From: Calvin Owens <calvin@wbinvd.org> > Subject: [PATCH v2] Bluetooth: Fix build after header cleanup > > 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 Please send a v2 then otherwise this is no pickup by the likes of CI and patchwork. > -- Luiz Augusto von Dentz ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2] Bluetooth: Fix build after header cleanup 2025-09-02 15:29 ` Luiz Augusto von Dentz @ 2025-09-02 15:43 ` Calvin Owens 2025-09-02 16:20 ` patchwork-bot+bluetooth 2025-09-03 14:04 ` Calvin Owens 0 siblings, 2 replies; 10+ messages in thread From: Calvin Owens @ 2025-09-02 15:43 UTC (permalink / raw) To: Luiz Augusto von Dentz Cc: Paul Menzel, linux-kernel, linux-bluetooth, Luiz Augusto von Dentz, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek, naresh.kamboju 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 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Bluetooth: Fix build after header cleanup 2025-09-02 15:43 ` [PATCH v2] Bluetooth: " Calvin Owens @ 2025-09-02 16:20 ` patchwork-bot+bluetooth 2025-09-03 14:04 ` Calvin Owens 1 sibling, 0 replies; 10+ messages in thread From: patchwork-bot+bluetooth @ 2025-09-02 16:20 UTC (permalink / raw) To: Calvin Owens Cc: luiz.dentz, pmenzel, linux-kernel, linux-bluetooth, luiz.von.dentz, oe-kbuild-all, marcel, sean.wang, linux-mediatek, naresh.kamboju Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Tue, 2 Sep 2025 08:43:44 -0700 you 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. > > [...] Here is the summary with links: - [v2] Bluetooth: Fix build after header cleanup https://git.kernel.org/bluetooth/bluetooth-next/c/16ebf6c26de5 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] Bluetooth: Fix build after header cleanup 2025-09-02 15:43 ` [PATCH v2] Bluetooth: " Calvin Owens 2025-09-02 16:20 ` patchwork-bot+bluetooth @ 2025-09-03 14:04 ` Calvin Owens 2025-09-03 14:06 ` [PATCH v3] " Calvin Owens 1 sibling, 1 reply; 10+ messages in thread From: Calvin Owens @ 2025-09-03 14:04 UTC (permalink / raw) To: Luiz Augusto von Dentz Cc: Paul Menzel, linux-kernel, linux-bluetooth, Luiz Augusto von Dentz, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek, naresh.kamboju 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 > ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3] Bluetooth: Fix build after header cleanup 2025-09-03 14:04 ` Calvin Owens @ 2025-09-03 14:06 ` Calvin Owens 2025-09-03 15:29 ` Paul Menzel 2025-09-04 16:30 ` patchwork-bot+bluetooth 0 siblings, 2 replies; 10+ messages in thread From: Calvin Owens @ 2025-09-03 14:06 UTC (permalink / raw) To: Luiz Augusto von Dentz Cc: Paul Menzel, linux-kernel, linux-bluetooth, Luiz Augusto von Dentz, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek, naresh.kamboju 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 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3] Bluetooth: Fix build after header cleanup 2025-09-03 14:06 ` [PATCH v3] " Calvin Owens @ 2025-09-03 15:29 ` Paul Menzel 2025-09-04 16:30 ` patchwork-bot+bluetooth 1 sibling, 0 replies; 10+ messages in thread From: Paul Menzel @ 2025-09-03 15:29 UTC (permalink / raw) To: Calvin Owens Cc: Luiz Augusto von Dentz, linux-kernel, linux-bluetooth, Luiz Augusto von Dentz, oe-kbuild-all, Marcel Holtmann, Sean Wang, linux-mediatek, naresh.kamboju 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3] Bluetooth: Fix build after header cleanup 2025-09-03 14:06 ` [PATCH v3] " Calvin Owens 2025-09-03 15:29 ` Paul Menzel @ 2025-09-04 16:30 ` patchwork-bot+bluetooth 1 sibling, 0 replies; 10+ messages in thread From: patchwork-bot+bluetooth @ 2025-09-04 16:30 UTC (permalink / raw) To: Calvin Owens Cc: luiz.dentz, pmenzel, linux-kernel, linux-bluetooth, luiz.von.dentz, oe-kbuild-all, marcel, sean.wang, linux-mediatek, naresh.kamboju Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Wed, 3 Sep 2025 07:06:06 -0700 you 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. > > [...] Here is the summary with links: - [v3] Bluetooth: Fix build after header cleanup https://git.kernel.org/bluetooth/bluetooth-next/c/006c974955d0 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-09-04 16:30 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <202508300413.OnIedvRh-lkp@intel.com> 2025-08-30 0:50 ` [PATCH] Bluetooth: btmtksdio: Fix build after header cleanup Calvin Owens 2025-08-30 5:11 ` Paul Menzel 2025-08-30 19:32 ` Calvin Owens 2025-09-02 15:29 ` Luiz Augusto von Dentz 2025-09-02 15:43 ` [PATCH v2] Bluetooth: " Calvin Owens 2025-09-02 16:20 ` patchwork-bot+bluetooth 2025-09-03 14:04 ` Calvin Owens 2025-09-03 14:06 ` [PATCH v3] " Calvin Owens 2025-09-03 15:29 ` Paul Menzel 2025-09-04 16:30 ` patchwork-bot+bluetooth
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).