Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 84180
b: refs/heads/master
c: 9cbc796
h: refs/heads/master
v: v3
  • Loading branch information
Éric Piel authored and Len Brown committed Feb 7, 2008
1 parent 13dc325 commit 939c896
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6ed31e92e94830c138fbd470486383380710069a
refs/heads/master: 9cbc7960288d28aec95257af59854e1d14ba23b8
3 changes: 3 additions & 0 deletions trunk/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
16 changes: 15 additions & 1 deletion trunk/drivers/acpi/osl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)"
*
Expand Down Expand Up @@ -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;
Expand All @@ -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;
Expand Down

0 comments on commit 939c896

Please sign in to comment.