Re: [PATCH] Support MSI Poulsbo netbook U110/U115

From: Joey Lee
Date: Fri Aug 13 2010 - 05:06:13 EST


Hi Matthew,

Dennis help me to ported this patch to 2.6.35, and it works as expected.
Could you please give me any suggestions for this patch?


Thank's a lot!
Joey Lee

æ äï2010-07-13 æ 15:54 +0800ïLee, Chun-Yi æåï
> 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@xxxxxxxxxx>
> ---
> 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:*");

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/