ACPI: DPTF: Fix reading of attributes
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tue, 27 Jul 2021 16:18:24 +0000 (09:18 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 28 Jul 2021 16:39:41 +0000 (18:39 +0200)
commit41a8457f3f6f829be1f8f8fa7577a46b9b7223ef
tree510e8241998444cd8d4ecfb462c8b5d1354ff98e
parentff1176468d368232b684f75e82563369208bc371
ACPI: DPTF: Fix reading of attributes

The current assumption that methods to read PCH FIVR attributes will
return integer, is not correct. There is no good way to return integer
as negative numbers are also valid.

These read methods return a package of integers. The first integer returns
status, which is 0 on success and any other value for failure. When the
returned status is zero, then the second integer returns the actual value.

This change fixes this issue by replacing acpi_evaluate_integer() with
acpi_evaluate_object() and use acpi_extract_package() to extract results.

Fixes: 2ce6324eadb01 ("ACPI: DPTF: Add PCH FIVR participant driver")
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: 5.10+ <stable@vger.kernel.org> # 5.10+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/dptf/dptf_pch_fivr.c