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>
This commit is contained in:

committed by
Len Brown

parent
3fa8749e58
commit
27663c5855
@@ -280,7 +280,7 @@ static int write_acpi_int(acpi_handle handle, const char *method, int val,
|
||||
|
||||
static int read_wireless_status(int mask)
|
||||
{
|
||||
ulong status;
|
||||
unsigned long long status;
|
||||
acpi_status rv = AE_OK;
|
||||
|
||||
if (!wireless_status_handle)
|
||||
@@ -297,7 +297,7 @@ static int read_wireless_status(int mask)
|
||||
|
||||
static int read_gps_status(void)
|
||||
{
|
||||
ulong status;
|
||||
unsigned long long status;
|
||||
acpi_status rv = AE_OK;
|
||||
|
||||
rv = acpi_evaluate_integer(gps_status_handle, NULL, NULL, &status);
|
||||
@@ -404,7 +404,7 @@ static void lcd_blank(int blank)
|
||||
|
||||
static int read_brightness(struct backlight_device *bd)
|
||||
{
|
||||
ulong value;
|
||||
unsigned long long value;
|
||||
acpi_status rv = AE_OK;
|
||||
|
||||
rv = acpi_evaluate_integer(brightness_get_handle, NULL, NULL, &value);
|
||||
@@ -455,7 +455,7 @@ static ssize_t show_infos(struct device *dev,
|
||||
struct device_attribute *attr, char *page)
|
||||
{
|
||||
int len = 0;
|
||||
ulong temp;
|
||||
unsigned long long temp;
|
||||
char buf[16]; //enough for all info
|
||||
acpi_status rv = AE_OK;
|
||||
|
||||
@@ -603,7 +603,7 @@ static void set_display(int value)
|
||||
|
||||
static int read_display(void)
|
||||
{
|
||||
ulong value = 0;
|
||||
unsigned long long value = 0;
|
||||
acpi_status rv = AE_OK;
|
||||
|
||||
/* In most of the case, we know how to set the display, but sometime
|
||||
@@ -849,7 +849,7 @@ static int asus_hotk_get_info(void)
|
||||
{
|
||||
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
|
||||
union acpi_object *model = NULL;
|
||||
ulong bsts_result, hwrs_result;
|
||||
unsigned long long bsts_result, hwrs_result;
|
||||
char *string = NULL;
|
||||
acpi_status status;
|
||||
|
||||
|
@@ -204,7 +204,7 @@ static int write_acpi_int(acpi_handle handle, const char *method, int val,
|
||||
static int read_acpi_int(acpi_handle handle, const char *method, int *val)
|
||||
{
|
||||
acpi_status status;
|
||||
ulong result;
|
||||
unsigned long long result;
|
||||
|
||||
status = acpi_evaluate_integer(handle, (char *)method, NULL, &result);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
|
@@ -224,7 +224,7 @@ static int set_lcd_level_alt(int level)
|
||||
|
||||
static int get_lcd_level(void)
|
||||
{
|
||||
unsigned long state = 0;
|
||||
unsigned long long state = 0;
|
||||
acpi_status status = AE_OK;
|
||||
|
||||
vdbg_printk(FUJLAPTOP_DBG_TRACE, "get lcd level via GBLL\n");
|
||||
@@ -246,7 +246,7 @@ static int get_lcd_level(void)
|
||||
|
||||
static int get_max_brightness(void)
|
||||
{
|
||||
unsigned long state = 0;
|
||||
unsigned long long state = 0;
|
||||
acpi_status status = AE_OK;
|
||||
|
||||
vdbg_printk(FUJLAPTOP_DBG_TRACE, "get max lcd level via RBLL\n");
|
||||
@@ -263,7 +263,7 @@ static int get_max_brightness(void)
|
||||
|
||||
static int get_lcd_level_alt(void)
|
||||
{
|
||||
unsigned long state = 0;
|
||||
unsigned long long state = 0;
|
||||
acpi_status status = AE_OK;
|
||||
|
||||
vdbg_printk(FUJLAPTOP_DBG_TRACE, "get lcd level via GBLS\n");
|
||||
@@ -384,7 +384,7 @@ static ssize_t store_lcd_level(struct device *dev,
|
||||
|
||||
static int get_irb(void)
|
||||
{
|
||||
unsigned long state = 0;
|
||||
unsigned long long state = 0;
|
||||
acpi_status status = AE_OK;
|
||||
|
||||
vdbg_printk(FUJLAPTOP_DBG_TRACE, "Get irb\n");
|
||||
|
@@ -57,7 +57,7 @@ static int memory_get_int_max_bandwidth(struct thermal_cooling_device *cdev,
|
||||
{
|
||||
struct acpi_device *device = cdev->devdata;
|
||||
acpi_handle handle = device->handle;
|
||||
unsigned long value;
|
||||
unsigned long long value;
|
||||
struct acpi_object_list arg_list;
|
||||
union acpi_object arg;
|
||||
acpi_status status = AE_OK;
|
||||
@@ -90,7 +90,7 @@ static int memory_get_cur_bandwidth(struct thermal_cooling_device *cdev,
|
||||
{
|
||||
struct acpi_device *device = cdev->devdata;
|
||||
acpi_handle handle = device->handle;
|
||||
unsigned long value;
|
||||
unsigned long long value;
|
||||
struct acpi_object_list arg_list;
|
||||
union acpi_object arg;
|
||||
acpi_status status = AE_OK;
|
||||
@@ -115,7 +115,7 @@ static int memory_set_cur_bandwidth(struct thermal_cooling_device *cdev,
|
||||
struct acpi_object_list arg_list;
|
||||
union acpi_object arg;
|
||||
acpi_status status;
|
||||
int temp;
|
||||
unsigned long long temp;
|
||||
unsigned long max_state;
|
||||
|
||||
if (memory_get_int_max_bandwidth(cdev, &max_state))
|
||||
@@ -131,7 +131,7 @@ static int memory_set_cur_bandwidth(struct thermal_cooling_device *cdev,
|
||||
|
||||
status =
|
||||
acpi_evaluate_integer(handle, MEMORY_SET_BANDWIDTH, &arg_list,
|
||||
(unsigned long *)&temp);
|
||||
&temp);
|
||||
|
||||
printk(KERN_INFO
|
||||
"Bandwidth value was %d: status is %d\n", state, status);
|
||||
@@ -252,7 +252,8 @@ static DEFINE_MUTEX(intel_menlow_attr_lock);
|
||||
* @auxtype : AUX0/AUX1
|
||||
* @buf: syfs buffer
|
||||
*/
|
||||
static int sensor_get_auxtrip(acpi_handle handle, int index, int *value)
|
||||
static int sensor_get_auxtrip(acpi_handle handle, int index,
|
||||
unsigned long long *value)
|
||||
{
|
||||
acpi_status status;
|
||||
|
||||
@@ -260,7 +261,7 @@ static int sensor_get_auxtrip(acpi_handle handle, int index, int *value)
|
||||
return -EINVAL;
|
||||
|
||||
status = acpi_evaluate_integer(handle, index ? GET_AUX1 : GET_AUX0,
|
||||
NULL, (unsigned long *)value);
|
||||
NULL, value);
|
||||
if (ACPI_FAILURE(status))
|
||||
return -EIO;
|
||||
|
||||
@@ -282,13 +283,13 @@ static int sensor_set_auxtrip(acpi_handle handle, int index, int value)
|
||||
struct acpi_object_list args = {
|
||||
1, &arg
|
||||
};
|
||||
int temp;
|
||||
unsigned long long temp;
|
||||
|
||||
if (index != 0 && index != 1)
|
||||
return -EINVAL;
|
||||
|
||||
status = acpi_evaluate_integer(handle, index ? GET_AUX0 : GET_AUX1,
|
||||
NULL, (unsigned long *)&temp);
|
||||
NULL, &temp);
|
||||
if (ACPI_FAILURE(status))
|
||||
return -EIO;
|
||||
if ((index && value < temp) || (!index && value > temp))
|
||||
@@ -296,7 +297,7 @@ static int sensor_set_auxtrip(acpi_handle handle, int index, int value)
|
||||
|
||||
arg.integer.value = value;
|
||||
status = acpi_evaluate_integer(handle, index ? SET_AUX1 : SET_AUX0,
|
||||
&args, (unsigned long *)&temp);
|
||||
&args, &temp);
|
||||
if (ACPI_FAILURE(status))
|
||||
return -EIO;
|
||||
|
||||
@@ -312,7 +313,7 @@ static ssize_t aux0_show(struct device *dev,
|
||||
struct device_attribute *dev_attr, char *buf)
|
||||
{
|
||||
struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
|
||||
int value;
|
||||
unsigned long long value;
|
||||
int result;
|
||||
|
||||
result = sensor_get_auxtrip(attr->handle, 0, &value);
|
||||
@@ -324,7 +325,7 @@ static ssize_t aux1_show(struct device *dev,
|
||||
struct device_attribute *dev_attr, char *buf)
|
||||
{
|
||||
struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
|
||||
int value;
|
||||
unsigned long long value;
|
||||
int result;
|
||||
|
||||
result = sensor_get_auxtrip(attr->handle, 1, &value);
|
||||
@@ -376,7 +377,7 @@ static ssize_t bios_enabled_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
acpi_status status;
|
||||
unsigned long bios_enabled;
|
||||
unsigned long long bios_enabled;
|
||||
|
||||
status = acpi_evaluate_integer(NULL, BIOS_ENABLED, NULL, &bios_enabled);
|
||||
if (ACPI_FAILURE(status))
|
||||
@@ -492,7 +493,7 @@ static int __init intel_menlow_module_init(void)
|
||||
{
|
||||
int result = -ENODEV;
|
||||
acpi_status status;
|
||||
unsigned long enable;
|
||||
unsigned long long enable;
|
||||
|
||||
if (acpi_disabled)
|
||||
return result;
|
||||
|
Reference in New Issue
Block a user