mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
ACPI: Add "acpi_no_initrd_override" kernel parameter
The acpi_no_initrd_override parameter permits to disable the load of an ACPI table from the initramfs. Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
6ed31e92e9
commit
9cbc796028
@ -175,6 +175,9 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||
|
||||
acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT
|
||||
|
||||
acpi_no_initrd_override [KNL,ACPI]
|
||||
Disable loading custom ACPI tables from the initramfs
|
||||
|
||||
acpi_os_name= [HW,ACPI] Tell ACPI BIOS the name of the OS
|
||||
Format: To spoof as Windows 98: ="Microsoft Windows"
|
||||
|
||||
|
@ -77,6 +77,10 @@ static struct workqueue_struct *kacpi_notify_wq;
|
||||
#define OSI_STRING_LENGTH_MAX 64 /* arbitrary */
|
||||
static char osi_additional_string[OSI_STRING_LENGTH_MAX];
|
||||
|
||||
#ifdef CONFIG_ACPI_CUSTOM_DSDT_INITRD
|
||||
static int acpi_no_initrd_override;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* "Ode to _OSI(Linux)"
|
||||
*
|
||||
@ -386,7 +390,8 @@ acpi_os_table_override(struct acpi_table_header * existing_table,
|
||||
*new_table = (struct acpi_table_header *)AmlCode;
|
||||
#endif
|
||||
#ifdef CONFIG_ACPI_CUSTOM_DSDT_INITRD
|
||||
if (strncmp(existing_table->signature, "DSDT", 4) == 0) {
|
||||
if ((strncmp(existing_table->signature, "DSDT", 4) == 0) &&
|
||||
!acpi_no_initrd_override) {
|
||||
struct acpi_table_header *initrd_table = acpi_find_dsdt_initrd();
|
||||
if (initrd_table)
|
||||
*new_table = initrd_table;
|
||||
@ -402,6 +407,15 @@ acpi_os_table_override(struct acpi_table_header * existing_table,
|
||||
return AE_OK;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ACPI_CUSTOM_DSDT_INITRD
|
||||
int __init acpi_no_initrd_override_setup(char *s)
|
||||
{
|
||||
acpi_no_initrd_override = 1;
|
||||
return 1;
|
||||
}
|
||||
__setup("acpi_no_initrd_override", acpi_no_initrd_override_setup);
|
||||
#endif
|
||||
|
||||
static irqreturn_t acpi_irq(int irq, void *dev_id)
|
||||
{
|
||||
return (*acpi_irq_handler) (acpi_irq_context) ? IRQ_HANDLED : IRQ_NONE;
|
||||
|
Loading…
Reference in New Issue
Block a user