platform/chrome: cros_ec_uart: Add DT enumeration support
authorBhanu Prakash Maiya <bhanumaiya@chromium.org>
Tue, 27 Dec 2022 19:32:24 +0000 (12:32 -0700)
committerTzung-Bi Shih <tzungbi@kernel.org>
Thu, 5 Jan 2023 15:27:14 +0000 (23:27 +0800)
Existing firmware uses the "PRP0001" _HID and an associated compatible
string to enumerate the cros_ec_uart.

Add DT enumeration support for already shipped firmware.

Signed-off-by: Bhanu Prakash Maiya <bhanumaiya@chromium.org>
Co-developed-by: Mark Hasemeyer <markhas@chromium.org>
Signed-off-by: Mark Hasemeyer <markhas@chromium.org>
Reviewed-by: Prashant Malani <pmalani@chromium.org>
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/20221227123212.v13.3.Ie23c217d69ff25d7354db942613f143bbc8ef891@changeid
drivers/platform/chrome/cros_ec_uart.c

index 971ea4b..0cef288 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/platform_data/cros_ec_proto.h>
 #include <linux/serdev.h>
 #include <linux/slab.h>
@@ -326,6 +327,12 @@ static int __maybe_unused cros_ec_uart_resume(struct device *dev)
 static SIMPLE_DEV_PM_OPS(cros_ec_uart_pm_ops, cros_ec_uart_suspend,
                         cros_ec_uart_resume);
 
+static const struct of_device_id cros_ec_uart_of_match[] = {
+       { .compatible = "google,cros-ec-uart" },
+       {}
+};
+MODULE_DEVICE_TABLE(of, cros_ec_uart_of_match);
+
 #ifdef CONFIG_ACPI
 static const struct acpi_device_id cros_ec_uart_acpi_id[] = {
        { "GOOG0019", 0 },
@@ -339,6 +346,7 @@ static struct serdev_device_driver cros_ec_uart_driver = {
        .driver = {
                .name   = "cros-ec-uart",
                .acpi_match_table = ACPI_PTR(cros_ec_uart_acpi_id),
+               .of_match_table = cros_ec_uart_of_match,
                .pm     = &cros_ec_uart_pm_ops,
        },
        .probe          = cros_ec_uart_probe,