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 <[email protected]>
> ---
>  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 platform-driver-x86" 
in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to