[PATCH v3 04/24] iio: acpi: Improve iio_read_acpi_mount_matrix()

Andy Shevchenko posted 24 patches 1 month ago
[PATCH v3 04/24] iio: acpi: Improve iio_read_acpi_mount_matrix()
Posted by Andy Shevchenko 1 month ago
From: Andy Shevchenko <andy.shevchenko@gmail.com>

By using ACPI_HANDLE() the handler argument can be retrieved directly.
Replace ACPI_COMPANION() + dereference with ACPI_HANDLE().

Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/industrialio-acpi.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/industrialio-acpi.c b/drivers/iio/industrialio-acpi.c
index 981b75d40780..1e46908f9534 100644
--- a/drivers/iio/industrialio-acpi.c
+++ b/drivers/iio/industrialio-acpi.c
@@ -28,17 +28,21 @@ bool iio_read_acpi_mount_matrix(struct device *dev,
 				char *acpi_method)
 {
 	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
-	struct acpi_device *adev = ACPI_COMPANION(dev);
 	char *str;
 	union acpi_object *obj, *elements;
+	acpi_handle handle;
 	acpi_status status;
 	int i, j, val[3];
 	bool ret = false;
 
-	if (!adev || !acpi_has_method(adev->handle, acpi_method))
+	handle = ACPI_HANDLE(dev);
+	if (!handle)
 		return false;
 
-	status = acpi_evaluate_object(adev->handle, acpi_method, NULL, &buffer);
+	if (!acpi_has_method(handle, acpi_method))
+		return false;
+
+	status = acpi_evaluate_object(handle, acpi_method, NULL, &buffer);
 	if (ACPI_FAILURE(status)) {
 		dev_err(dev, "Failed to get ACPI mount matrix: %d\n", status);
 		return false;
-- 
2.43.0.rc1.1336.g36b5255a03ac
Re: [PATCH v3 04/24] iio: acpi: Improve iio_read_acpi_mount_matrix()
Posted by Jonathan Cameron 1 month ago
On Thu, 24 Oct 2024 22:04:53 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> From: Andy Shevchenko <andy.shevchenko@gmail.com>
> 
> By using ACPI_HANDLE() the handler argument can be retrieved directly.
> Replace ACPI_COMPANION() + dereference with ACPI_HANDLE().
> 
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
> Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
There are two of you?  That explains so many things ;)

Anyhow, whilst a little unusual fair enough that you sent this with different
hats on.

Applied.


> ---
>  drivers/iio/industrialio-acpi.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/industrialio-acpi.c b/drivers/iio/industrialio-acpi.c
> index 981b75d40780..1e46908f9534 100644
> --- a/drivers/iio/industrialio-acpi.c
> +++ b/drivers/iio/industrialio-acpi.c
> @@ -28,17 +28,21 @@ bool iio_read_acpi_mount_matrix(struct device *dev,
>  				char *acpi_method)
>  {
>  	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
> -	struct acpi_device *adev = ACPI_COMPANION(dev);
>  	char *str;
>  	union acpi_object *obj, *elements;
> +	acpi_handle handle;
>  	acpi_status status;
>  	int i, j, val[3];
>  	bool ret = false;
>  
> -	if (!adev || !acpi_has_method(adev->handle, acpi_method))
> +	handle = ACPI_HANDLE(dev);
> +	if (!handle)
>  		return false;
>  
> -	status = acpi_evaluate_object(adev->handle, acpi_method, NULL, &buffer);
> +	if (!acpi_has_method(handle, acpi_method))
> +		return false;
> +
> +	status = acpi_evaluate_object(handle, acpi_method, NULL, &buffer);
>  	if (ACPI_FAILURE(status)) {
>  		dev_err(dev, "Failed to get ACPI mount matrix: %d\n", status);
>  		return false;