]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
HID: hid-goodix-spi: Add OF supports
authorCharles Wang <charles.goodix@gmail.com>
Mon, 11 Nov 2024 07:50:00 +0000 (15:50 +0800)
committerJiri Kosina <jkosina@suse.com>
Wed, 13 Nov 2024 09:56:37 +0000 (10:56 +0100)
This patch introduces the following changes:
- Adds OF match table.
- Hardcodes hid-report-addr in the driver rather than fetching it
  from the device property.

Signed-off-by: Charles Wang <charles.goodix@gmail.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-goodix-spi.c

index 6ae2300a603ef2ae794055c8abdc012911093039..80c0288a3a38b0048c63aa48d9306c8e5ab3f6a6 100644 (file)
@@ -20,6 +20,7 @@
 #define GOODIX_HID_REPORT_DESC_ADDR    0x105AA
 #define GOODIX_HID_SIGN_ADDR           0x10D32
 #define GOODIX_HID_CMD_ADDR            0x10364
+#define GOODIX_HID_REPORT_ADDR         0x22C8C
 
 #define GOODIX_HID_GET_REPORT_CMD      0x02
 #define GOODIX_HID_SET_REPORT_CMD      0x03
@@ -701,12 +702,7 @@ static int goodix_spi_probe(struct spi_device *spi)
                return dev_err_probe(dev, PTR_ERR(ts->reset_gpio),
                                     "failed to request reset gpio\n");
 
-       error = device_property_read_u32(dev, "goodix,hid-report-addr",
-                                        &ts->hid_report_addr);
-       if (error)
-               return dev_err_probe(dev, error,
-                                    "failed get hid report addr\n");
-
+       ts->hid_report_addr = GOODIX_HID_REPORT_ADDR;
        error = goodix_dev_confirm(ts);
        if (error)
                return error;
@@ -790,6 +786,14 @@ static const struct acpi_device_id goodix_spi_acpi_match[] = {
 MODULE_DEVICE_TABLE(acpi, goodix_spi_acpi_match);
 #endif
 
+#ifdef CONFIG_OF
+static const struct of_device_id goodix_spi_of_match[] = {
+       { .compatible = "goodix,gt7986u-spifw", },
+       { }
+};
+MODULE_DEVICE_TABLE(of, goodix_spi_of_match);
+#endif
+
 static const struct spi_device_id goodix_spi_ids[] = {
        { "gt7986u" },
        { },
@@ -800,6 +804,7 @@ static struct spi_driver goodix_spi_driver = {
        .driver = {
                .name = "goodix-spi-hid",
                .acpi_match_table = ACPI_PTR(goodix_spi_acpi_match),
+               .of_match_table = of_match_ptr(goodix_spi_of_match),
                .pm = pm_sleep_ptr(&goodix_spi_pm_ops),
        },
        .probe =        goodix_spi_probe,