lkml.org 
[lkml]   [2004]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 13/13] 2.6.7-rc1-mm1, Port i8042 quirk to new DMI probing
    Date
    From


    diff -urpN -X /usr/share/dontdiff linux-2.6.7-rc1-mm1.vanilla/arch/i386/kernel/dmi_scan.c linux-2.6.7-rc1-mm1/arch/i386/kernel/dmi_scan.c
    --- linux-2.6.7-rc1-mm1.vanilla/arch/i386/kernel/dmi_scan.c Thu Apr 29 00:18:14 2004
    +++ linux-2.6.7-rc1-mm1/arch/i386/kernel/dmi_scan.c Thu Apr 29 00:26:56 2004
    @@ -155,22 +155,6 @@ static void __init dmi_save_ident(struct
    printk(KERN_ERR "dmi_save_ident: out of memory.\n");
    }

    -/*
    - * HP Proliant 8500 systems can't use i8042 in mux mode,
    - * or they instantly reboot.
    - */
    -#ifdef CONFIG_SERIO_I8042
    -extern unsigned int i8042_nomux;
    -static __init int set_8042_nomux(struct dmi_system_id *d)
    -{
    - if (i8042_nomux == 0)
    - {
    - i8042_nomux = 1;
    - printk(KERN_INFO "Disabling i8042 mux mode\n");
    - }
    - return 0;
    -}
    -#endif

    /*
    * ASUS K7V-RM has broken ACPI table defining sleep modes
    @@ -243,14 +227,6 @@ static __initdata struct dmi_system_id d
    { reset_videomode_after_s3, "Toshiba Satellite 4030cdt", { /* Reset video mode after returning from ACPI S3 sleep */
    DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),
    } },
    -#endif
    -
    -#ifdef CONFIG_SERIO_I8042
    - { set_8042_nomux, "Compaq Proliant 8500", {
    - DMI_MATCH(DMI_SYS_VENDOR, "Compaq"),
    - DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"),
    - DMI_MATCH(DMI_PRODUCT_VERSION, "8500"),
    - }},
    #endif

    #ifdef CONFIG_ACPI_PCI
    diff -urpN -X /usr/share/dontdiff linux-2.6.7-rc1-mm1.vanilla/drivers/input/serio/i8042.c linux-2.6.7-rc1-mm1/drivers/input/serio/i8042.c
    --- linux-2.6.7-rc1-mm1.vanilla/drivers/input/serio/i8042.c Wed Apr 28 22:55:59 2004
    +++ linux-2.6.7-rc1-mm1/drivers/input/serio/i8042.c Thu Apr 29 00:29:19 2004
    @@ -21,6 +21,7 @@
    #include <linux/sysdev.h>
    #include <linux/pm.h>
    #include <linux/serio.h>
    +#include <linux/dmi.h>

    #include <asm/io.h>

    @@ -32,7 +33,7 @@ static unsigned int i8042_noaux;
    module_param_named(noaux, i8042_noaux, bool, 0);
    MODULE_PARM_DESC(noaux, "Do not probe or use AUX (mouse) port.");

    -unsigned int i8042_nomux;
    +static unsigned int i8042_nomux;
    module_param_named(nomux, i8042_nomux, bool, 0);
    MODULE_PARM_DESC(nomux, "Do not check whether an active multiplexing conrtoller is present.");

    @@ -943,11 +944,39 @@ static void __init i8042_init_mux_values
    values->mux = index;
    }

    +/*
    + * HP Proliant 8500 systems can't use i8042 in mux mode,
    + * or they instantly reboot.
    + */
    +static int __init set_8042_nomux(struct dmi_system_id *d)
    +{
    + if (!i8042_nomux) {
    + i8042_nomux = 1;
    + printk(KERN_INFO "Disabling i8042 mux mode\n");
    + }
    + return 0;
    +}
    +
    +static struct dmi_system_id __initdata i8042_dmi_table[] = {
    + {
    + .callback = set_8042_nomux,
    + .ident = "Compaq Proliant 8500",
    + .matches = {
    + DMI_MATCH(DMI_SYS_VENDOR, "Compaq"),
    + DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"),
    + DMI_MATCH(DMI_PRODUCT_VERSION, "8500"),
    + },
    + },
    + { },
    +};
    +
    int __init i8042_init(void)
    {
    int i;

    dbg_init();
    +
    + dmi_check_system(i8042_dmi_table);

    init_timer(&i8042_timer);
    i8042_timer.function = i8042_timer_func;
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:03    [W:0.031 / U:0.528 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site