[v2,5/6] efi: dev-path-parser: use acpi_dev_uid_match() for matching _UID

Message ID 20231121103829.10027-6-raag.jadav@intel.com
State New
Headers
Series Support _UID matching for integer types |

Commit Message

Raag Jadav Nov. 21, 2023, 10:38 a.m. UTC
  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>
---
 drivers/firmware/efi/dev-path-parser.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
  

Comments

Ard Biesheuvel Nov. 21, 2023, 4:19 p.m. UTC | #1
On Tue, 21 Nov 2023 at 05:39, Raag Jadav <raag.jadav@intel.com> wrote:
>
> 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>

> ---
>  drivers/firmware/efi/dev-path-parser.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/firmware/efi/dev-path-parser.c b/drivers/firmware/efi/dev-path-parser.c
> index f80d87c199c3..937be269fee8 100644
> --- a/drivers/firmware/efi/dev-path-parser.c
> +++ b/drivers/firmware/efi/dev-path-parser.c
> @@ -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)
> --
> 2.17.1
>
  

Patch

diff --git a/drivers/firmware/efi/dev-path-parser.c b/drivers/firmware/efi/dev-path-parser.c
index f80d87c199c3..937be269fee8 100644
--- a/drivers/firmware/efi/dev-path-parser.c
+++ b/drivers/firmware/efi/dev-path-parser.c
@@ -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)