2018-08-08 08:48:25

by Hans de Goede

[permalink] [raw]
Subject: [PATCH] Bluetooth: hci_h5: Add Kconfig dependencies on SERDEV and GPIOLIB

After the recent changes for RTL serdev devices support the h5 code now
depends on the hci_serdev code and on gpiolib at dependencies to Kconfig
to properly reflect this.

Reported-by: [email protected]
Signed-off-by: Hans de Goede <[email protected]>
---
drivers/bluetooth/Kconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index f3c643a0473c..8969d3d5d86c 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -159,6 +159,8 @@ config BT_HCIUART_LL
config BT_HCIUART_3WIRE
bool "Three-wire UART (H5) protocol support"
depends on BT_HCIUART
+ depends on BT_HCIUART_SERDEV
+ depends on GPIOLIB
help
The HCI Three-wire UART Transport Layer makes it possible to
user the Bluetooth HCI over a serial port interface. The HCI
--
2.18.0


2018-08-08 14:41:36

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: hci_h5: Add Kconfig dependencies on SERDEV and GPIOLIB

Hi,

On 08/08/2018 12:07 PM, Johan Hedberg wrote:
> Hi Hans,
>
> On Wed, Aug 08, 2018, Johan Hedberg wrote:
>> On Wed, Aug 08, 2018, Hans de Goede wrote:
>>> diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
>>> index f3c643a0473c..8969d3d5d86c 100644
>>> --- a/drivers/bluetooth/Kconfig
>>> +++ b/drivers/bluetooth/Kconfig
>>> @@ -159,6 +159,8 @@ config BT_HCIUART_LL
>>> config BT_HCIUART_3WIRE
>>> bool "Three-wire UART (H5) protocol support"
>>> depends on BT_HCIUART
>>> + depends on BT_HCIUART_SERDEV
>>> + depends on GPIOLIB
>>> help
>>> The HCI Three-wire UART Transport Layer makes it possible to
>>> user the Bluetooth HCI over a serial port interface. The HCI
>>
>> The missing BT_HCIUART_SERDEV is already fixed in bluetooth-next.
>> Please send an updated patch for the GPIOLIB however.
>
> Actually the GPIOLIB dependency is related to BT_RTL usage, if I
> understand the code right. There's much more to be fixed though:
> currently all "btrtl" code in hci_h5.c is unconditionally compiled in,
> which it shouldn't be (it should depend on BT_RTL).

This is handled the same way as with BT_BCM already, bt_bcm.h
has

#if IS_ENABLED(CONFIG_BT_BCM)
...
#else
...
#endif

With the #else block defining empty stubs which always return
an error. btrtl.h does exactly the same thing.


> There should
> probably be a similar Kconfig option to select BT_RTL for
> BT_HCIUART_3WIRE like there is for btusb with BT_HCIBTUSB_RTL.

Yes I will submit a patch adding a new BT_HCIUART_RTL
mirroring the existing BT_HCIUART_BCM for this.

Regards,

Hans

2018-08-08 14:08:50

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: hci_h5: Add Kconfig dependencies on SERDEV and GPIOLIB

Hi Johan,

>>> diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
>>> index f3c643a0473c..8969d3d5d86c 100644
>>> --- a/drivers/bluetooth/Kconfig
>>> +++ b/drivers/bluetooth/Kconfig
>>> @@ -159,6 +159,8 @@ config BT_HCIUART_LL
>>> config BT_HCIUART_3WIRE
>>> bool "Three-wire UART (H5) protocol support"
>>> depends on BT_HCIUART
>>> + depends on BT_HCIUART_SERDEV
>>> + depends on GPIOLIB
>>> help
>>> The HCI Three-wire UART Transport Layer makes it possible to
>>> user the Bluetooth HCI over a serial port interface. The HCI
>>
>> The missing BT_HCIUART_SERDEV is already fixed in bluetooth-next.
>> Please send an updated patch for the GPIOLIB however.
>
> Actually the GPIOLIB dependency is related to BT_RTL usage, if I
> understand the code right. There's much more to be fixed though:
> currently all "btrtl" code in hci_h5.c is unconditionally compiled in,
> which it shouldn't be (it should depend on BT_RTL). There should
> probably be a similar Kconfig option to select BT_RTL for
> BT_HCIUART_3WIRE like there is for btusb with BT_HCIBTUSB_RTL.
>
> Would you, or perhaps Jeremy (who introduced this code) be willing to
> submit a patch for it? We need to get this fixed for the last 4.19
> bluetooth-next pull request, which is due this week.

I really wanted that the new bt3wire.c gets fixed up and used for this and I am slightly regretting that I merged the hci_h5.c changes :(

Regards

Marcel


2018-08-08 10:07:03

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: hci_h5: Add Kconfig dependencies on SERDEV and GPIOLIB

Hi Hans,

On Wed, Aug 08, 2018, Johan Hedberg wrote:
> On Wed, Aug 08, 2018, Hans de Goede wrote:
> > diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
> > index f3c643a0473c..8969d3d5d86c 100644
> > --- a/drivers/bluetooth/Kconfig
> > +++ b/drivers/bluetooth/Kconfig
> > @@ -159,6 +159,8 @@ config BT_HCIUART_LL
> > config BT_HCIUART_3WIRE
> > bool "Three-wire UART (H5) protocol support"
> > depends on BT_HCIUART
> > + depends on BT_HCIUART_SERDEV
> > + depends on GPIOLIB
> > help
> > The HCI Three-wire UART Transport Layer makes it possible to
> > user the Bluetooth HCI over a serial port interface. The HCI
>
> The missing BT_HCIUART_SERDEV is already fixed in bluetooth-next.
> Please send an updated patch for the GPIOLIB however.

Actually the GPIOLIB dependency is related to BT_RTL usage, if I
understand the code right. There's much more to be fixed though:
currently all "btrtl" code in hci_h5.c is unconditionally compiled in,
which it shouldn't be (it should depend on BT_RTL). There should
probably be a similar Kconfig option to select BT_RTL for
BT_HCIUART_3WIRE like there is for btusb with BT_HCIBTUSB_RTL.

Would you, or perhaps Jeremy (who introduced this code) be willing to
submit a patch for it? We need to get this fixed for the last 4.19
bluetooth-next pull request, which is due this week.

Johan

2018-08-08 09:47:11

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: hci_h5: Add Kconfig dependencies on SERDEV and GPIOLIB

Hi Hans,

On Wed, Aug 08, 2018, Hans de Goede wrote:
> diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
> index f3c643a0473c..8969d3d5d86c 100644
> --- a/drivers/bluetooth/Kconfig
> +++ b/drivers/bluetooth/Kconfig
> @@ -159,6 +159,8 @@ config BT_HCIUART_LL
> config BT_HCIUART_3WIRE
> bool "Three-wire UART (H5) protocol support"
> depends on BT_HCIUART
> + depends on BT_HCIUART_SERDEV
> + depends on GPIOLIB
> help
> The HCI Three-wire UART Transport Layer makes it possible to
> user the Bluetooth HCI over a serial port interface. The HCI

The missing BT_HCIUART_SERDEV is already fixed in bluetooth-next.
Please send an updated patch for the GPIOLIB however.

Johan