Message ID | 20210803192905.72246-4-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | [v1,1/5] serdev: Split and export serdev_acpi_get_uart_resource() | expand |
Hi, On 8/3/21 9:29 PM, Andy Shevchenko wrote: > ACPI provides generic helpers to get GPIO interrupt and IO resources. > Use it instead of open coded variant. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> As explained in my reply to 3/5 this makes the code a lot harder to read with little to no gain, so NACK from me for this one. Regards, Hans > --- > drivers/bluetooth/hci_bcm.c | 15 ++++++--------- > 1 file changed, 6 insertions(+), 9 deletions(-) > > diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c > index 16f854ac19b6..ed99fcde2523 100644 > --- a/drivers/bluetooth/hci_bcm.c > +++ b/drivers/bluetooth/hci_bcm.c > @@ -911,15 +911,6 @@ static int bcm_resource(struct acpi_resource *ares, void *data) > dev->irq_active_low = true; > break; > > - case ACPI_RESOURCE_TYPE_GPIO: > - gpio = &ares->data.gpio; > - if (gpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT) { > - dev->gpio_int_idx = dev->gpio_count; > - dev->irq_active_low = gpio->polarity == ACPI_ACTIVE_LOW; > - } > - dev->gpio_count++; > - break; > - > default: > break; > } > @@ -927,6 +918,12 @@ static int bcm_resource(struct acpi_resource *ares, void *data) > if (serdev_acpi_get_uart_resource(ares, &uart)) { > dev->init_speed = uart->default_baud_rate; > dev->oper_speed = 4000000; > + } else if (acpi_gpio_get_irq_resource(ares, &gpio)) { > + dev->gpio_int_idx = dev->gpio_count; > + dev->irq_active_low = gpio->polarity == ACPI_ACTIVE_LOW; > + dev->gpio_count++; > + } else if (acpi_gpio_get_io_resource(ares, &gpio)) { > + dev->gpio_count++; > } > > return 0; >
diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 16f854ac19b6..ed99fcde2523 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -911,15 +911,6 @@ static int bcm_resource(struct acpi_resource *ares, void *data) dev->irq_active_low = true; break; - case ACPI_RESOURCE_TYPE_GPIO: - gpio = &ares->data.gpio; - if (gpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT) { - dev->gpio_int_idx = dev->gpio_count; - dev->irq_active_low = gpio->polarity == ACPI_ACTIVE_LOW; - } - dev->gpio_count++; - break; - default: break; } @@ -927,6 +918,12 @@ static int bcm_resource(struct acpi_resource *ares, void *data) if (serdev_acpi_get_uart_resource(ares, &uart)) { dev->init_speed = uart->default_baud_rate; dev->oper_speed = 4000000; + } else if (acpi_gpio_get_irq_resource(ares, &gpio)) { + dev->gpio_int_idx = dev->gpio_count; + dev->irq_active_low = gpio->polarity == ACPI_ACTIVE_LOW; + dev->gpio_count++; + } else if (acpi_gpio_get_io_resource(ares, &gpio)) { + dev->gpio_count++; } return 0;
ACPI provides generic helpers to get GPIO interrupt and IO resources. Use it instead of open coded variant. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/bluetooth/hci_bcm.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-)