platform/x86: xo15-ebook: Replace open coded acpi_match_acpi_device()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 10 Oct 2023 13:39:36 +0000 (16:39 +0300)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Thu, 12 Oct 2023 13:33:49 +0000 (16:33 +0300)
Replace open coded acpi_match_acpi_device() in ebook_switch_add().

Note, while it is a bit longer it is more robust in case
more IDs will be added.

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231010133936.3891996-1-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/xo15-ebook.c

index 391f7ea4431e08dea2fbd3f99726b267a502b7a3..df2bf1c585239b27f22fb2936733fb0223ba323e 100644 (file)
@@ -81,9 +81,9 @@ static SIMPLE_DEV_PM_OPS(ebook_switch_pm, NULL, ebook_switch_resume);
 
 static int ebook_switch_add(struct acpi_device *device)
 {
+       const struct acpi_device_id *id;
        struct ebook_switch *button;
        struct input_dev *input;
-       const char *hid = acpi_device_hid(device);
        char *name, *class;
        int error;
 
@@ -102,8 +102,9 @@ static int ebook_switch_add(struct acpi_device *device)
        name = acpi_device_name(device);
        class = acpi_device_class(device);
 
-       if (strcmp(hid, XO15_EBOOK_HID)) {
-               pr_err("Unsupported hid [%s]\n", hid);
+       id = acpi_match_acpi_device(ebook_device_ids, device);
+       if (!id) {
+               dev_err(&device->dev, "Unsupported hid\n");
                error = -ENODEV;
                goto err_free_input;
        }
@@ -111,7 +112,7 @@ static int ebook_switch_add(struct acpi_device *device)
        strcpy(name, XO15_EBOOK_DEVICE_NAME);
        sprintf(class, "%s/%s", XO15_EBOOK_CLASS, XO15_EBOOK_SUBCLASS);
 
-       snprintf(button->phys, sizeof(button->phys), "%s/button/input0", hid);
+       snprintf(button->phys, sizeof(button->phys), "%s/button/input0", id->id);
 
        input->name = name;
        input->phys = button->phys;