USB: ehci-platform: Add ACPI bindings for the EHCI platform driver.
authorJeremy Linton <jeremy.linton@arm.com>
Wed, 19 Aug 2015 21:36:32 +0000 (16:36 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 09:47:13 +0000 (10:47 +0100)
This enables USB on the ARM juno board when booted with
an ACPI kernel. The PNP id comes from the PNP/ACPI registry
and describes an EHCI controller without debug.

Tested-by: Huang Shijie <shijie.huang@arm.com>
Reviewed-by: Graeme Gregory <graeme.gregory@linaro.org>
Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-platform.c

index d9144d5ab794febf06d0a293eb72c2102a615890..bd7082f297bbe76b7db8c10ad091402c79f45786 100644 (file)
@@ -19,6 +19,7 @@
  *
  * Licensed under the GNU/GPL. See COPYING for details.
  */
+#include <linux/acpi.h>
 #include <linux/clk.h>
 #include <linux/dma-mapping.h>
 #include <linux/err.h>
@@ -387,6 +388,12 @@ static const struct of_device_id vt8500_ehci_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, vt8500_ehci_ids);
 
+static const struct acpi_device_id ehci_acpi_match[] = {
+       { "PNP0D20", 0 }, /* EHCI controller without debug */
+       { }
+};
+MODULE_DEVICE_TABLE(acpi, ehci_acpi_match);
+
 static const struct platform_device_id ehci_platform_table[] = {
        { "ehci-platform", 0 },
        { }
@@ -405,6 +412,7 @@ static struct platform_driver ehci_platform_driver = {
                .name   = "ehci-platform",
                .pm     = &ehci_platform_pm_ops,
                .of_match_table = vt8500_ehci_ids,
+               .acpi_match_table = ACPI_PTR(ehci_acpi_match),
        }
 };