Don't restrict GPIO events to pin numbers below 256. With the _EVT()
authorkettenis <kettenis@openbsd.org>
Sat, 10 Sep 2022 13:18:31 +0000 (13:18 +0000)
committerkettenis <kettenis@openbsd.org>
Sat, 10 Sep 2022 13:18:31 +0000 (13:18 +0000)
method events corresponding to larger numbers are possible.

Fixes lid state detection on the x13s.

ok patrick@

sys/dev/acpi/acpi.c

index 7571828..ebb5249 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpi.c,v 1.415 2022/09/03 18:05:10 kettenis Exp $ */
+/* $OpenBSD: acpi.c,v 1.416 2022/09/10 13:18:31 kettenis Exp $ */
 /*
  * Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
  * Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
@@ -902,7 +902,7 @@ acpi_gpio_parse_events(int crsidx, union acpi_resource *crs, void *arg)
                node = aml_searchname(devnode,
                    (char *)&crs->pad[crs->lr_gpio.res_off]);
                pin = *(uint16_t *)&crs->pad[crs->lr_gpio.pin_off];
-               if (crs->lr_gpio.type == LR_GPIO_INT && pin < 256 &&
+               if (crs->lr_gpio.type == LR_GPIO_INT &&
                    node && node->gpio && node->gpio->intr_establish) {
                        struct acpi_gpio *gpio = node->gpio;
                        struct acpi_gpio_event *ev;