git: 52583b734d7f - stable/13 - Check for more XHCI ACPI IDs

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Mon, 23 Jan 2023 12:37:47 UTC
The branch stable/13 has been updated by andrew:

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

commit 52583b734d7fcb7f98024bed0f3ed2d6bedd6277
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2023-01-04 12:33:08 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2023-01-23 12:36:28 +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
    
    (cherry picked from commit 8793196ca28f7b78f04ca479fe60b7d7af6b20e1)
---
 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 80ad8ca4e8a4..aa96c3f40fee 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);