mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ACPI / tables: add DSDT AmlCode new declaration name support
A new naming rule was added in ACPICA version 20180427 changing
the DSDT AML code name from "AmlCode" to "dsdt_aml_code".
That change was made by commit 83b2fa943b "ACPICA: iASL: Enhance
the -tc option (create AML hex file in C)".
Tested:
ACPICA release version 20180427+.
ARM64: QCOM QDF2400
GCC: 4.8.5 20150623
Signed-off-by: Wang Dongsheng <dongsheng.wang@hxt-semitech.com>
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
			
			
This commit is contained in:
		
							parent
							
								
									b413b1abeb
								
							
						
					
					
						commit
						82e4eb4e96
					
				
					 2 changed files with 9 additions and 3 deletions
				
			
		| 
						 | 
					@ -336,7 +336,7 @@ config ACPI_CUSTOM_DSDT_FILE
 | 
				
			||||||
	  See Documentation/acpi/dsdt-override.txt
 | 
						  See Documentation/acpi/dsdt-override.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  Enter the full path name to the file which includes the AmlCode
 | 
						  Enter the full path name to the file which includes the AmlCode
 | 
				
			||||||
	  declaration.
 | 
						  or dsdt_aml_code declaration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  If unsure, don't enter a file name.
 | 
						  If unsure, don't enter a file name.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -712,6 +712,9 @@ acpi_os_physical_table_override(struct acpi_table_header *existing_table,
 | 
				
			||||||
					  table_length);
 | 
										  table_length);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void *amlcode __attribute__ ((weakref("AmlCode")));
 | 
				
			||||||
 | 
					static void *dsdt_amlcode __attribute__ ((weakref("dsdt_aml_code")));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
acpi_status
 | 
					acpi_status
 | 
				
			||||||
acpi_os_table_override(struct acpi_table_header *existing_table,
 | 
					acpi_os_table_override(struct acpi_table_header *existing_table,
 | 
				
			||||||
		       struct acpi_table_header **new_table)
 | 
							       struct acpi_table_header **new_table)
 | 
				
			||||||
| 
						 | 
					@ -722,8 +725,11 @@ acpi_os_table_override(struct acpi_table_header *existing_table,
 | 
				
			||||||
	*new_table = NULL;
 | 
						*new_table = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_ACPI_CUSTOM_DSDT
 | 
					#ifdef CONFIG_ACPI_CUSTOM_DSDT
 | 
				
			||||||
	if (strncmp(existing_table->signature, "DSDT", 4) == 0)
 | 
						if (!strncmp(existing_table->signature, "DSDT", 4)) {
 | 
				
			||||||
		*new_table = (struct acpi_table_header *)AmlCode;
 | 
							*new_table = (struct acpi_table_header *)&amlcode;
 | 
				
			||||||
 | 
							if (!(*new_table))
 | 
				
			||||||
 | 
								*new_table = (struct acpi_table_header *)&dsdt_amlcode;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
	if (*new_table != NULL)
 | 
						if (*new_table != NULL)
 | 
				
			||||||
		acpi_table_taint(existing_table);
 | 
							acpi_table_taint(existing_table);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue