]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
usb: Add support for ACPI identification to xhci-platform
authorDuc Dang <dhdang@apm.com>
Fri, 9 Oct 2015 10:30:12 +0000 (13:30 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Oct 2015 06:34:22 +0000 (23:34 -0700)
Provide the methods to let ACPI identify the need to use
xhci-platform. Change the Kconfig files so the
xhci-plat.o file is selectable during kernel config.

This has been tested on an ARM64 machine with platform XHCI, an
x86_64 machine with XHCI, and an x86_64 machine without XHCI.
There were no regressions or error messages on the machines
without platform XHCI.

[dhdang: regenerate the patch over v4.3-rc1 and address new comments]
Signed-off-by: Mark Langsdorf <mlangsdo@redhat.com>
Signed-off-by: Duc Dang <dhdang@apm.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-plat.c

index 34c93e87b2d3881f5ea2ac7a8937038f75972e2e..05647e6753cd833f9b9e87924832be5d3e2c2216 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/usb/phy.h>
 #include <linux/slab.h>
 #include <linux/usb/xhci_pdriver.h>
+#include <linux/acpi.h>
 
 #include "xhci.h"
 #include "xhci-mvebu.h"
@@ -268,6 +269,13 @@ static const struct of_device_id usb_xhci_of_match[] = {
 MODULE_DEVICE_TABLE(of, usb_xhci_of_match);
 #endif
 
+static const struct acpi_device_id usb_xhci_acpi_match[] = {
+       /* XHCI-compliant USB Controller */
+       { "PNP0D10", },
+       { }
+};
+MODULE_DEVICE_TABLE(acpi, usb_xhci_acpi_match);
+
 static struct platform_driver usb_xhci_driver = {
        .probe  = xhci_plat_probe,
        .remove = xhci_plat_remove,
@@ -275,6 +283,7 @@ static struct platform_driver usb_xhci_driver = {
                .name = "xhci-hcd",
                .pm = DEV_PM_OPS,
                .of_match_table = of_match_ptr(usb_xhci_of_match),
+               .acpi_match_table = ACPI_PTR(usb_xhci_acpi_match),
        },
 };
 MODULE_ALIAS("platform:xhci-hcd");