git: d6dc661c2a2d - main - acpi_gpiobus: mask pin flags for GPIOBUS_PIN_SETFLAGS

From: Ed Maste <emaste_at_FreeBSD.org>
Date: Mon, 21 Apr 2025 16:28:32 UTC
The branch main has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=d6dc661c2a2d8ff543256695ed52cd4b82b663b9

commit d6dc661c2a2d8ff543256695ed52cd4b82b663b9
Author:     Ahmad Khalifa <ahmadkhalifa570@gmail.com>
AuthorDate: 2025-03-11 11:43:49 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2025-04-21 16:28:14 +0000

    acpi_gpiobus: mask pin flags for GPIOBUS_PIN_SETFLAGS
    
    GPIOBUS_PIN_SETFLAGS calls GPIO_PIN_SETFLAGS, which doesn't accept
    interrupt flags.
    
    Reviewed-by: Warner Losh <imp@FreeBSD.org>
    Pull-request: https://github.com/freebsd/freebsd-src/pull/1667
    Signed-off-by: Ahmad Khalifa <ahmadkhalifa570@gmail.com>
---
 sys/dev/gpio/acpi_gpiobus.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c
index 96faec5e6f02..2987af634866 100644
--- a/sys/dev/gpio/acpi_gpiobus.c
+++ b/sys/dev/gpio/acpi_gpiobus.c
@@ -203,7 +203,8 @@ acpi_gpiobus_enumerate_aei(ACPI_RESOURCE *res, void *context)
 	device_set_ivars(child, devi);
 
 	for (int i = 0; i < devi->gpiobus.npins; i++) {
-		if (GPIOBUS_PIN_SETFLAGS(bus, child, 0, devi->flags)) {
+		if (GPIOBUS_PIN_SETFLAGS(bus, child, 0, devi->flags &
+		    ~GPIO_INTR_MASK)) {
 			device_delete_child(bus, child);
 			return (AE_OK);
 		}