git: 8793196ca28f - main - Check for more XHCI ACPI IDs

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Wed, 04 Jan 2023 17:04:15 UTC
The branch main has been updated by andrew:

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

commit 8793196ca28f7b78f04ca479fe60b7d7af6b20e1
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2023-01-04 12:33:08 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2023-01-04 16:54:05 +0000

    Check for more XHCI ACPI IDs
    
    The Windows Dev Kit 2023 uses the XHCI-compliant USB controller without
    standard debug ID in its ACPI tables. Check for both ID values found
    on [1] in the XHCI ACPI attachment.
    
    [1] https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/device-management-namespace-objects
    
    Tested by:      Robert Clausecker <fuz@fuz.su>
    Sponsored by:   Arm Ltd
---
 sys/dev/usb/controller/generic_xhci_acpi.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/sys/dev/usb/controller/generic_xhci_acpi.c b/sys/dev/usb/controller/generic_xhci_acpi.c
index b354c3227b98..b5fa9d7009b9 100644
--- a/sys/dev/usb/controller/generic_xhci_acpi.c
+++ b/sys/dev/usb/controller/generic_xhci_acpi.c
@@ -53,13 +53,16 @@ __FBSDID("$FreeBSD$");
 
 #include "generic_xhci.h"
 
+static char *xhci_ids[] = {
+	"PNP0D10",
+	"PNP0D15",
+	NULL,
+};
+
 static int
 generic_xhci_acpi_probe(device_t dev)
 {
-	ACPI_HANDLE h;
-
-	if ((h = acpi_get_handle(dev)) == NULL ||
-	    acpi_MatchHid(h, "PNP0D10") == ACPI_MATCHHID_NOMATCH)
+	if (ACPI_ID_PROBE(device_get_parent(dev), dev, xhci_ids, NULL) >= 0)
 		return (ENXIO);
 
 	device_set_desc(dev, XHCI_HC_DEVSTR);