diff options
author | Matthew Wilcox <willy@linux.intel.com> | 2008-10-10 02:22:59 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-10-11 02:47:33 -0400 |
commit | 27663c5855b10af9ec67bc7dfba001426ba21222 (patch) | |
tree | 2b8c520bb57a792045d7d072398a4d840fada6c0 /drivers/acpi/ec.c | |
parent | 3fa8749e584b55f1180411ab1b51117190bac1e5 (diff) | |
download | lwn-27663c5855b10af9ec67bc7dfba001426ba21222.tar.gz lwn-27663c5855b10af9ec67bc7dfba001426ba21222.zip |
ACPI: Change acpi_evaluate_integer to support 64-bit on 32-bit kernels
As of version 2.0, ACPI can return 64-bit integers. The current
acpi_evaluate_integer only supports 64-bit integers on 64-bit platforms.
Change the argument to take a pointer to an acpi_integer so we support
64-bit integers on all platforms.
lenb: replaced use of "acpi_integer" with "unsigned long long"
lenb: fixed bug in acpi_thermal_trips_update()
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r-- | drivers/acpi/ec.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 13593f9f2197..638a68679a42 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -718,6 +718,7 @@ static acpi_status ec_parse_device(acpi_handle handle, u32 Level, void *context, void **retval) { acpi_status status; + unsigned long long tmp; struct acpi_ec *ec = context; status = acpi_walk_resources(handle, METHOD_NAME__CRS, @@ -727,11 +728,13 @@ ec_parse_device(acpi_handle handle, u32 Level, void *context, void **retval) /* Get GPE bit assignment (EC events). */ /* TODO: Add support for _GPE returning a package */ - status = acpi_evaluate_integer(handle, "_GPE", NULL, &ec->gpe); + status = acpi_evaluate_integer(handle, "_GPE", NULL, &tmp); if (ACPI_FAILURE(status)) return status; + ec->gpe = tmp; /* Use the global lock for all EC transactions? */ - acpi_evaluate_integer(handle, "_GLK", NULL, &ec->global_lock); + acpi_evaluate_integer(handle, "_GLK", NULL, &tmp); + ec->global_lock = tmp; ec->handle = handle; return AE_CTRL_TERMINATE; } |