提交 46c1fbdb 编写于 作者: L Len Brown

ACPI: DMI: quirk for FSC ESPRIMO Mobile V5505

http://bugzilla.kernel.org/show_bug.cgi?id=9939Signed-off-by: NLen Brown <len.brown@intel.com>
上级 bb54675b
...@@ -186,6 +186,12 @@ static int __init dmi_unknown_osi_linux(const struct dmi_system_id *d) ...@@ -186,6 +186,12 @@ static int __init dmi_unknown_osi_linux(const struct dmi_system_id *d)
acpi_dmi_osi_linux(-1, d); /* unknown */ acpi_dmi_osi_linux(-1, d); /* unknown */
return 0; return 0;
} }
static int __init dmi_disable_osi_vista(const struct dmi_system_id *d)
{
printk(KERN_NOTICE PREFIX "DMI detected: %s\n", d->ident);
acpi_osi_setup("!Windows 2006");
return 0;
}
/* /*
* Most BIOS that invoke OSI(Linux) do nothing with it. * Most BIOS that invoke OSI(Linux) do nothing with it.
...@@ -434,6 +440,14 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { ...@@ -434,6 +440,14 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
}, },
}, },
{
.callback = dmi_disable_osi_vista,
.ident = "Fujitsu Siemens",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO Mobile V5505"),
},
},
/* /*
* Disable OSI(Linux) warnings on all "Hewlett-Packard" * Disable OSI(Linux) warnings on all "Hewlett-Packard"
* *
......
...@@ -1109,7 +1109,7 @@ void __init acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d) ...@@ -1109,7 +1109,7 @@ void __init acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d)
* string starting with '!' disables that string * string starting with '!' disables that string
* otherwise string is added to list, augmenting built-in strings * otherwise string is added to list, augmenting built-in strings
*/ */
static int __init acpi_osi_setup(char *str) int __init acpi_osi_setup(char *str)
{ {
if (str == NULL || *str == '\0') { if (str == NULL || *str == '\0') {
printk(KERN_INFO PREFIX "_OSI method disabled\n"); printk(KERN_INFO PREFIX "_OSI method disabled\n");
......
...@@ -203,6 +203,7 @@ extern bool wmi_has_guid(const char *guid); ...@@ -203,6 +203,7 @@ extern bool wmi_has_guid(const char *guid);
extern int acpi_blacklisted(void); extern int acpi_blacklisted(void);
#ifdef CONFIG_DMI #ifdef CONFIG_DMI
extern void acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d); extern void acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d);
extern int acpi_osi_setup(char *str);
#endif #endif
#ifdef CONFIG_ACPI_NUMA #ifdef CONFIG_ACPI_NUMA
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册