Message ID | 20200903184850.53055-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1,1/4] Bluetooth: hci_intel: enable on new platform | expand |
On Thu, Sep 03, 2020 at 09:48:47PM +0300, Andy Shevchenko wrote: > On new Intel platform the device is provided with INT33E3 ID. > Append it to the list. > > This will require ACPI_GPIO_QUIRK_ONLY_GPIOIO to be enabled because > the relevant ASL looks like: > > UartSerialBusV2 ( ... ) > GpioInt ( ... ) { ... } > GpioIo ( ... ) { ... } > > which means that first GPIO resource is an interrupt, while we are expecting it > to be reset one (output). Do the same for host-wake because in case of > GpioInt() the platform_get_irq() will do the job and should return correct > Linux IRQ number. That said, host-wake GPIO can only be GpioIo() resource. > > While here, drop commas in terminator lines. Any comments? > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/bluetooth/hci_intel.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/bluetooth/hci_intel.c b/drivers/bluetooth/hci_intel.c > index f1299da6eed8..703d774be5a6 100644 > --- a/drivers/bluetooth/hci_intel.c > +++ b/drivers/bluetooth/hci_intel.c > @@ -1076,7 +1076,8 @@ static const struct hci_uart_proto intel_proto = { > #ifdef CONFIG_ACPI > static const struct acpi_device_id intel_acpi_match[] = { > { "INT33E1", 0 }, > - { }, > + { "INT33E3", 0 }, > + { } > }; > MODULE_DEVICE_TABLE(acpi, intel_acpi_match); > #endif > @@ -1138,9 +1139,9 @@ static const struct acpi_gpio_params reset_gpios = { 0, 0, false }; > static const struct acpi_gpio_params host_wake_gpios = { 1, 0, false }; > > static const struct acpi_gpio_mapping acpi_hci_intel_gpios[] = { > - { "reset-gpios", &reset_gpios, 1 }, > - { "host-wake-gpios", &host_wake_gpios, 1 }, > - { }, > + { "reset-gpios", &reset_gpios, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, > + { "host-wake-gpios", &host_wake_gpios, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, > + { } > }; > > static int intel_probe(struct platform_device *pdev) > -- > 2.28.0 >
Hi Andy, > On new Intel platform the device is provided with INT33E3 ID. > Append it to the list. > > This will require ACPI_GPIO_QUIRK_ONLY_GPIOIO to be enabled because > the relevant ASL looks like: > > UartSerialBusV2 ( ... ) > GpioInt ( ... ) { ... } > GpioIo ( ... ) { ... } > > which means that first GPIO resource is an interrupt, while we are expecting it > to be reset one (output). Do the same for host-wake because in case of > GpioInt() the platform_get_irq() will do the job and should return correct > Linux IRQ number. That said, host-wake GPIO can only be GpioIo() resource. > > While here, drop commas in terminator lines. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/bluetooth/hci_intel.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) patch has been applied to bluetooth-next tree. Regards Marcel
diff --git a/drivers/bluetooth/hci_intel.c b/drivers/bluetooth/hci_intel.c index f1299da6eed8..703d774be5a6 100644 --- a/drivers/bluetooth/hci_intel.c +++ b/drivers/bluetooth/hci_intel.c @@ -1076,7 +1076,8 @@ static const struct hci_uart_proto intel_proto = { #ifdef CONFIG_ACPI static const struct acpi_device_id intel_acpi_match[] = { { "INT33E1", 0 }, - { }, + { "INT33E3", 0 }, + { } }; MODULE_DEVICE_TABLE(acpi, intel_acpi_match); #endif @@ -1138,9 +1139,9 @@ static const struct acpi_gpio_params reset_gpios = { 0, 0, false }; static const struct acpi_gpio_params host_wake_gpios = { 1, 0, false }; static const struct acpi_gpio_mapping acpi_hci_intel_gpios[] = { - { "reset-gpios", &reset_gpios, 1 }, - { "host-wake-gpios", &host_wake_gpios, 1 }, - { }, + { "reset-gpios", &reset_gpios, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, + { "host-wake-gpios", &host_wake_gpios, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, + { } }; static int intel_probe(struct platform_device *pdev)
On new Intel platform the device is provided with INT33E3 ID. Append it to the list. This will require ACPI_GPIO_QUIRK_ONLY_GPIOIO to be enabled because the relevant ASL looks like: UartSerialBusV2 ( ... ) GpioInt ( ... ) { ... } GpioIo ( ... ) { ... } which means that first GPIO resource is an interrupt, while we are expecting it to be reset one (output). Do the same for host-wake because in case of GpioInt() the platform_get_irq() will do the job and should return correct Linux IRQ number. That said, host-wake GPIO can only be GpioIo() resource. While here, drop commas in terminator lines. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/bluetooth/hci_intel.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)