Prev: [PATCH 0/2] Graceful failures for XFS on an unconfigured loop device
Next: [PATCH 2/2] blkdev: check for valid request queue before issuing flush
From: Lee, Chun-Yi on 13 Jul 2010 04:00 The MSI U110/U115's DSDT have opregion declare, but i915 drm driver does not support Poulsbo ship. It causes the acpi backlight control interface not generate by i915 drm driver. But, we are sure the MSI Poulsbo netbook U110/U115 have workable _BCM,_BQC implementation in DSDT and it control brightness by using EC but not opregion. So, put a dmi detection in msi-laptop driver and also add wlan/bluetooth rfkill support on U110/U115. Signed-off-by: Lee, Chun-Yi <jlee(a)novell.com> --- drivers/platform/x86/msi-laptop.c | 41 +++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c index afd762b..5f62ad8 100644 --- a/drivers/platform/x86/msi-laptop.c +++ b/drivers/platform/x86/msi-laptop.c @@ -60,6 +60,7 @@ #include <linux/platform_device.h> #include <linux/rfkill.h> #include <linux/i8042.h> +#include <acpi/video.h> #define MSI_DRIVER_VERSION "0.5" @@ -524,6 +525,42 @@ static struct dmi_system_id __initdata msi_load_scm_models_dmi_table[] = { }, .callback = dmi_check_cb }, + { + .ident = "MSI U110", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International"), + DMI_MATCH(DMI_PRODUCT_NAME, "U110"), + }, + .callback = dmi_check_cb + }, + { + .ident = "MSI U115", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International"), + DMI_MATCH(DMI_PRODUCT_NAME, "U115"), + }, + .callback = dmi_check_cb + }, + { } +}; + +static struct dmi_system_id __initdata msi_poulsbo_dmi_table[] = { + { + .ident = "MSI U110", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International"), + DMI_MATCH(DMI_PRODUCT_NAME, "U110"), + }, + .callback = dmi_check_cb + }, + { + .ident = "MSI U115", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International"), + DMI_MATCH(DMI_PRODUCT_NAME, "U115"), + }, + .callback = dmi_check_cb + }, { } }; @@ -801,6 +838,8 @@ static int __init msi_init(void) if (acpi_video_backlight_support()) { printk(KERN_INFO "MSI: Brightness ignored, must be controlled " "by ACPI video driver\n"); + if (dmi_check_system(msi_poulsbo_dmi_table)) + acpi_video_register(); } else { struct backlight_properties props; memset(&props, 0, sizeof(struct backlight_properties)); @@ -919,3 +958,5 @@ MODULE_ALIAS("dmi:*:svnMICRO-STARINTERNATIONAL*:pnMS-N034:*"); MODULE_ALIAS("dmi:*:svnMICRO-STARINTERNATIONAL*:pnMS-N051:*"); MODULE_ALIAS("dmi:*:svnMICRO-STARINTERNATIONAL*:pnMS-N014:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational*:pnCR620:*"); +MODULE_ALIAS("dmi:*:svnMicro-StarInternational*:pnU110:*"); +MODULE_ALIAS("dmi:*:svnMicro-StarInternational*:pnU115:*"); -- 1.6.0.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |