diff mbox

net: rfkill: gpio: Add OBDA8723 ACPI HID

Message ID 20170408210520.2799-1-hdegoede@redhat.com
State Awaiting Upstream, archived
Delegated to: David Miller
Headers show

Commit Message

Hans de Goede April 8, 2017, 9:05 p.m. UTC
The OBDA8723 ACPI HID is used on quite a few Bay Trail based tablets
for bluetooth rfkill functionality.

Tested-by: russianneuromancer@ya.ru <russianneuromancer@ya.ru>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 net/rfkill/rfkill-gpio.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Marcel Holtmann April 9, 2017, 8:01 a.m. UTC | #1
Hi Hans,

> The OBDA8723 ACPI HID is used on quite a few Bay Trail based tablets
> for bluetooth rfkill functionality.
> 
> Tested-by: russianneuromancer@ya.ru <russianneuromancer@ya.ru>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> net/rfkill/rfkill-gpio.c | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
> index 76c01cb..50ca65e 100644
> --- a/net/rfkill/rfkill-gpio.c
> +++ b/net/rfkill/rfkill-gpio.c
> @@ -163,6 +163,7 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
> static const struct acpi_device_id rfkill_acpi_match[] = {
> 	{ "BCM4752", RFKILL_TYPE_GPS },
> 	{ "LNV4752", RFKILL_TYPE_GPS },
> +	{ "OBDA8723", RFKILL_TYPE_BLUETOOTH },
> 	{ },
> };

NAK. We are integrating these with hci_bcm.c or hci_intel.c drivers.

Regards

Marcel
Hans de Goede April 9, 2017, 9:35 a.m. UTC | #2
Hi,

On 09-04-17 10:01, Marcel Holtmann wrote:
> Hi Hans,
>
>> The OBDA8723 ACPI HID is used on quite a few Bay Trail based tablets
>> for bluetooth rfkill functionality.
>>
>> Tested-by: russianneuromancer@ya.ru <russianneuromancer@ya.ru>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> net/rfkill/rfkill-gpio.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
>> index 76c01cb..50ca65e 100644
>> --- a/net/rfkill/rfkill-gpio.c
>> +++ b/net/rfkill/rfkill-gpio.c
>> @@ -163,6 +163,7 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
>> static const struct acpi_device_id rfkill_acpi_match[] = {
>> 	{ "BCM4752", RFKILL_TYPE_GPS },
>> 	{ "LNV4752", RFKILL_TYPE_GPS },
>> +	{ "OBDA8723", RFKILL_TYPE_BLUETOOTH },
>> 	{ },
>> };
>
> NAK. We are integrating these with hci_bcm.c or hci_intel.c drivers.

This is for the bluetooth side of the rtl8723bs driver which recently
(yesterday) got merged in into drivers/staging. Which still needs
hciattach from userspace. I completely agree that eventually we should
fix that. In the mean time it would be nice if we could carry this
one line patch to give people using the staging driver working bluetooth.

Regards,

Hans
Marcel Holtmann April 9, 2017, 12:11 p.m. UTC | #3
Hi Hans,

>>> The OBDA8723 ACPI HID is used on quite a few Bay Trail based tablets
>>> for bluetooth rfkill functionality.
>>> 
>>> Tested-by: russianneuromancer@ya.ru <russianneuromancer@ya.ru>
>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>> ---
>>> net/rfkill/rfkill-gpio.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>> 
>>> diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
>>> index 76c01cb..50ca65e 100644
>>> --- a/net/rfkill/rfkill-gpio.c
>>> +++ b/net/rfkill/rfkill-gpio.c
>>> @@ -163,6 +163,7 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
>>> static const struct acpi_device_id rfkill_acpi_match[] = {
>>> 	{ "BCM4752", RFKILL_TYPE_GPS },
>>> 	{ "LNV4752", RFKILL_TYPE_GPS },
>>> +	{ "OBDA8723", RFKILL_TYPE_BLUETOOTH },
>>> 	{ },
>>> };
>> 
>> NAK. We are integrating these with hci_bcm.c or hci_intel.c drivers.
> 
> This is for the bluetooth side of the rtl8723bs driver which recently
> (yesterday) got merged in into drivers/staging. Which still needs
> hciattach from userspace. I completely agree that eventually we should
> fix that. In the mean time it would be nice if we could carry this
> one line patch to give people using the staging driver working bluetooth.

why are Bluetooth drivers in staging? I objected to them before. The only reason to have them in staging would be people being to lazy to clean things up.

Regards

Marcel
Larry Finger April 9, 2017, 3:50 p.m. UTC | #4
On 04/09/2017 07:11 AM, Marcel Holtmann wrote:
> Hi Hans,
>
>>>> The OBDA8723 ACPI HID is used on quite a few Bay Trail based tablets
>>>> for bluetooth rfkill functionality.
>>>>
>>>> Tested-by: russianneuromancer@ya.ru <russianneuromancer@ya.ru>
>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>>> ---
>>>> net/rfkill/rfkill-gpio.c | 1 +
>>>> 1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
>>>> index 76c01cb..50ca65e 100644
>>>> --- a/net/rfkill/rfkill-gpio.c
>>>> +++ b/net/rfkill/rfkill-gpio.c
>>>> @@ -163,6 +163,7 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
>>>> static const struct acpi_device_id rfkill_acpi_match[] = {
>>>> 	{ "BCM4752", RFKILL_TYPE_GPS },
>>>> 	{ "LNV4752", RFKILL_TYPE_GPS },
>>>> +	{ "OBDA8723", RFKILL_TYPE_BLUETOOTH },
>>>> 	{ },
>>>> };
>>>
>>> NAK. We are integrating these with hci_bcm.c or hci_intel.c drivers.
>>
>> This is for the bluetooth side of the rtl8723bs driver which recently
>> (yesterday) got merged in into drivers/staging. Which still needs
>> hciattach from userspace. I completely agree that eventually we should
>> fix that. In the mean time it would be nice if we could carry this
>> one line patch to give people using the staging driver working bluetooth.
>
> why are Bluetooth drivers in staging? I objected to them before. The only reason to have them in staging would be people being to lazy to clean things up.

The Bluetooth driver is not in staging. It is only the wifi part; however, 
having a driver for that hardware in the kernel makes it easier for users to 
handle the BT part of the device. As Hans stated, the current BT driver runs in 
userspace. Until we actually produce hci_rtk, having this one line patch will be 
helpful.

Larry
Marcel Holtmann April 11, 2017, 2:47 p.m. UTC | #5
Hi Larry,

>>>>> The OBDA8723 ACPI HID is used on quite a few Bay Trail based tablets
>>>>> for bluetooth rfkill functionality.
>>>>> 
>>>>> Tested-by: russianneuromancer@ya.ru <russianneuromancer@ya.ru>
>>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>>>> ---
>>>>> net/rfkill/rfkill-gpio.c | 1 +
>>>>> 1 file changed, 1 insertion(+)
>>>>> 
>>>>> diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
>>>>> index 76c01cb..50ca65e 100644
>>>>> --- a/net/rfkill/rfkill-gpio.c
>>>>> +++ b/net/rfkill/rfkill-gpio.c
>>>>> @@ -163,6 +163,7 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
>>>>> static const struct acpi_device_id rfkill_acpi_match[] = {
>>>>> 	{ "BCM4752", RFKILL_TYPE_GPS },
>>>>> 	{ "LNV4752", RFKILL_TYPE_GPS },
>>>>> +	{ "OBDA8723", RFKILL_TYPE_BLUETOOTH },
>>>>> 	{ },
>>>>> };
>>>> 
>>>> NAK. We are integrating these with hci_bcm.c or hci_intel.c drivers.
>>> 
>>> This is for the bluetooth side of the rtl8723bs driver which recently
>>> (yesterday) got merged in into drivers/staging. Which still needs
>>> hciattach from userspace. I completely agree that eventually we should
>>> fix that. In the mean time it would be nice if we could carry this
>>> one line patch to give people using the staging driver working bluetooth.
>> 
>> why are Bluetooth drivers in staging? I objected to them before. The only reason to have them in staging would be people being to lazy to clean things up.
> 
> The Bluetooth driver is not in staging. It is only the wifi part; however, having a driver for that hardware in the kernel makes it easier for users to handle the BT part of the device. As Hans stated, the current BT driver runs in userspace. Until we actually produce hci_rtk, having this one line patch will be helpful.

I dislike RFKILL switches for Bluetooth device power control. It creates nasty userspace hacks. I have seen them and it is not a good idea. And I have seen the modified hciattach to make this devices work. That one itself is such a nasty hack. Frankly once you see struct sk_buff you should run away scared ;)

Lets get hci_rtk.c upstream. Even if it has limited support at the beginning. Also we are moving towards serdev right now and these chips will benefit greatly here.

Regards

Marcel
diff mbox

Patch

diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
index 76c01cb..50ca65e 100644
--- a/net/rfkill/rfkill-gpio.c
+++ b/net/rfkill/rfkill-gpio.c
@@ -163,6 +163,7 @@  static int rfkill_gpio_remove(struct platform_device *pdev)
 static const struct acpi_device_id rfkill_acpi_match[] = {
 	{ "BCM4752", RFKILL_TYPE_GPS },
 	{ "LNV4752", RFKILL_TYPE_GPS },
+	{ "OBDA8723", RFKILL_TYPE_BLUETOOTH },
 	{ },
 };
 MODULE_DEVICE_TABLE(acpi, rfkill_acpi_match);