diff options
Diffstat (limited to 'drivers/acpi/processor_idle.c')
| -rw-r--r-- | drivers/acpi/processor_idle.c | 11 | 
1 files changed, 5 insertions, 6 deletions
| diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index 76ef1bcc8848..86560a28751b 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -20,6 +20,7 @@  #include <linux/tick.h>  #include <linux/cpuidle.h>  #include <linux/cpu.h> +#include <linux/minmax.h>  #include <acpi/processor.h>  /* @@ -400,13 +401,10 @@ static int acpi_cst_latency_cmp(const void *a, const void *b)  static void acpi_cst_latency_swap(void *a, void *b, int n)  {  	struct acpi_processor_cx *x = a, *y = b; -	u32 tmp;  	if (!(x->valid && y->valid))  		return; -	tmp = x->latency; -	x->latency = y->latency; -	y->latency = tmp; +	swap(x->latency, y->latency);  }  static int acpi_processor_power_verify(struct acpi_processor *pr) @@ -567,7 +565,8 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)  {  	struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); -	ACPI_FLUSH_CPU_CACHE(); +	if (cx->type == ACPI_STATE_C3) +		ACPI_FLUSH_CPU_CACHE();  	while (1) { @@ -1101,7 +1100,7 @@ static int acpi_processor_get_lpi_info(struct acpi_processor *pr)  	status = acpi_get_parent(handle, &pr_ahandle);  	while (ACPI_SUCCESS(status)) { -		acpi_bus_get_device(pr_ahandle, &d); +		d = acpi_fetch_acpi_dev(pr_ahandle);  		handle = pr_ahandle;  		if (strcmp(acpi_device_hid(d), ACPI_PROCESSOR_CONTAINER_HID)) |