Subject: linux-next: manual merge of the tip tree with the pm tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 6 Jan 2014 18:18:37 +1100

Hi all,

Today's linux-next merge of the tip tree got a conflict in
drivers/acpi/acpi_extlog.c between commit 7ede9f8a1805 ("ACPI / extlog:
replace open-coded _DSM code with helper functions") from the pm tree and
commit 42139eb356e3 ("ACPI, eMCA: Combine eMCA/EDAC event reporting
priority") from the tip tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc drivers/acpi/acpi_extlog.c
index 94166680b3a3,5d33c5415405..000000000000
--- a/drivers/acpi/acpi_extlog.c
+++ b/drivers/acpi/acpi_extlog.c
@@@ -9,8 -9,10 +9,9 @@@
  
  #include <linux/module.h>
  #include <linux/acpi.h>
 -#include <acpi/acpi_bus.h>
  #include <linux/cper.h>
  #include <linux/ratelimit.h>
+ #include <linux/edac.h>
  #include <asm/cpu.h>
  #include <asm/mce.h>
  
@@@ -40,7 -44,9 +41,9 @@@ struct extlog_l1_head 
  	u8  rev1[12];
  };
  
+ static int old_edac_report_status;
+ 
 -static u8 extlog_dsm_uuid[] = "663E35AF-CC10-41A4-88EA-5470AF055295";
 +static u8 extlog_dsm_uuid[] __initdata = "663E35AF-CC10-41A4-88EA-5470AF055295";
  
  /* L1 table related physical address */
  static u64 elog_base;
@@@ -147,16 -153,53 +150,16 @@@ static int extlog_print(struct notifier
  
  	rc = print_extlog_rcd(NULL, (struct acpi_generic_status *)elog_buf, cpu);
  
- 	return NOTIFY_DONE;
+ 	return NOTIFY_STOP;
  }
  
 -static int extlog_get_dsm(acpi_handle handle, int rev, int func, u64 *ret)
 +static bool __init extlog_get_l1addr(void)
  {
 -	struct acpi_buffer buf = {ACPI_ALLOCATE_BUFFER, NULL};
 -	struct acpi_object_list input;
 -	union acpi_object params[4], *obj;
  	u8 uuid[16];
 -	int i;
 +	acpi_handle handle;
 +	union acpi_object *obj;
  
  	acpi_str_to_uuid(extlog_dsm_uuid, uuid);
 -	input.count = 4;
 -	input.pointer = params;
 -	params[0].type = ACPI_TYPE_BUFFER;
 -	params[0].buffer.length = 16;
 -	params[0].buffer.pointer = uuid;
 -	params[1].type = ACPI_TYPE_INTEGER;
 -	params[1].integer.value = rev;
 -	params[2].type = ACPI_TYPE_INTEGER;
 -	params[2].integer.value = func;
 -	params[3].type = ACPI_TYPE_PACKAGE;
 -	params[3].package.count = 0;
 -	params[3].package.elements = NULL;
 -
 -	if (ACPI_FAILURE(acpi_evaluate_object(handle, "_DSM", &input, &buf)))
 -		return -1;
 -
 -	*ret = 0;
 -	obj = (union acpi_object *)buf.pointer;
 -	if (obj->type == ACPI_TYPE_INTEGER) {
 -		*ret = obj->integer.value;
 -	} else if (obj->type == ACPI_TYPE_BUFFER) {
 -		if (obj->buffer.length <= 8) {
 -			for (i = 0; i < obj->buffer.length; i++)
 -				*ret |= (obj->buffer.pointer[i] << (i * 8));
 -		}
 -	}
 -	kfree(buf.pointer);
 -
 -	return 0;
 -}
 -
 -static bool extlog_get_l1addr(void)
 -{
 -	acpi_handle handle;
 -	u64 ret;
  
  	if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle)))
  		return false;