efi: dev-path-parser: use acpi_dev_uid_match() for matching _UID
authorRaag Jadav <raag.jadav@intel.com>
Thu, 23 Nov 2023 10:06:16 +0000 (15:36 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 6 Dec 2023 17:02:37 +0000 (18:02 +0100)
Now that we have _UID matching support for integer types, we can use
acpi_dev_uid_match() for it.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/firmware/efi/dev-path-parser.c

index f80d87c199c3c35adfc73e752b1016a3e3bb749f..937be269fee86d5d71256758aed94741e794431c 100644 (file)
@@ -18,8 +18,6 @@ static long __init parse_acpi_path(const struct efi_dev_path *node,
        struct acpi_device *adev;
        struct device *phys_dev;
        char hid[ACPI_ID_LEN];
-       u64 uid;
-       int ret;
 
        if (node->header.length != 12)
                return -EINVAL;
@@ -31,10 +29,9 @@ static long __init parse_acpi_path(const struct efi_dev_path *node,
                        node->acpi.hid >> 16);
 
        for_each_acpi_dev_match(adev, hid, NULL, -1) {
-               ret = acpi_dev_uid_to_integer(adev, &uid);
-               if (ret == 0 && node->acpi.uid == uid)
+               if (acpi_dev_uid_match(adev, node->acpi.uid))
                        break;
-               if (ret == -ENODATA && node->acpi.uid == 0)
+               if (!acpi_device_uid(adev) && node->acpi.uid == 0)
                        break;
        }
        if (!adev)