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

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Jul 2014 13:56:20 +1000

Hi Rafael,

Today's linux-next merge of the pm tree got a conflict in
drivers/acpi/acpi_extlog.c between commits 2dfb7d51a61d ("trace, RAS:
Add eMCA trace event interface") and d6cae935ec5b ("trace, eMCA: Add a
knob to adjust where to save event log") from the ia64 tree and commit
0a00fd5e20fd ("ACPICA: Restore error table definitions to reduce code
differences between Linux and ACPICA upstream") from the pm tree.

I fixed it up (hopefully - 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 0ad6f389d922,340d09518f8e..000000000000
--- a/drivers/acpi/acpi_extlog.c
+++ b/drivers/acpi/acpi_extlog.c
@@@ -139,12 -137,8 +139,12 @@@ static int extlog_print(struct notifier
  	struct mce *mce = (struct mce *)data;
  	int	bank = mce->bank;
  	int	cpu = mce->extcpu;
- 	struct acpi_generic_status *estatus, *tmp;
- 	struct acpi_generic_data *gdata;
 -	struct acpi_hest_generic_status *estatus;
 -	int rc;
++	struct acpi_hest_generic_status *estatus, *tmp;
++	struct acpi_hest_generic_data *gdata;
 +	const uuid_le *fru_id = &NULL_UUID_LE;
 +	char *fru_text = "";
 +	uuid_le *sec_type;
 +	static u32 err_seq;
  
  	estatus = extlog_elog_entry_check(cpu, bank);
  	if (estatus == NULL)
@@@ -154,29 -148,8 +154,29 @@@
  	/* clear record status to enable BIOS to update it again */
  	estatus->block_status = 0;
  
- 	tmp = (struct acpi_generic_status *)elog_buf;
 -	rc = print_extlog_rcd(NULL, (struct acpi_hest_generic_status *)elog_buf, cpu);
++	tmp = (struct acpi_hest_generic_status *)elog_buf;
 +
 +	if (!ras_userspace_consumers()) {
 +		print_extlog_rcd(NULL, tmp, cpu);
 +		goto out;
 +	}
 +
 +	/* log event via trace */
 +	err_seq++;
- 	gdata = (struct acpi_generic_data *)(tmp + 1);
++	gdata = (struct acpi_hest_generic_data *)(tmp + 1);
 +	if (gdata->validation_bits & CPER_SEC_VALID_FRU_ID)
 +		fru_id = (uuid_le *)gdata->fru_id;
 +	if (gdata->validation_bits & CPER_SEC_VALID_FRU_TEXT)
 +		fru_text = gdata->fru_text;
 +	sec_type = (uuid_le *)gdata->section_type;
 +	if (!uuid_le_cmp(*sec_type, CPER_SEC_PLATFORM_MEM)) {
 +		struct cper_sec_mem_err *mem = (void *)(gdata + 1);
 +		if (gdata->error_data_length >= sizeof(*mem))
 +			trace_extlog_mem_event(mem, err_seq, fru_id, fru_text,
 +					       (u8)gdata->error_severity);
 +	}
  
 +out:
  	return NOTIFY_STOP;
  }