lkml.org 
[lkml]   [2004]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: 2.6.8-rc1-mm4: allow-i8042-register-location-override-2.patch
    Date
    On Saturday 11 September 2004 4:27 pm, Dmitry Torokhov wrote:
    > On Saturday 11 September 2004 04:30 pm, Sean Neakums wrote:
    > > > Input: Add ACPI-based i8042 keyboard and aux controller enumeration;
    > > > can be disabled by passing i8042.noacpi as a boot parameter.
    > >
    > > On a whim I decided to turn on ACPI, only to discover that my keyboard
    > > no longer worked.  Passing i8042.noacpi=1 makes it work again.
    > > Attached please find boot messages with and without the boot
    > > parameter.  Inlined below is a diff of the two.
    >
    > Bjorn has a patch that would use defaults if ports/IRQ are not specified
    > in the DSDT table, which should help in your case I think.

    Thanks much for testing this, Sean. Can you try the attached patch,
    please?

    --- 2.6.9-rc1-mm4-bh1/drivers/input/serio/i8042-x86ia64io.h.orig 2004-09-07 14:41:42.000000000 -0600
    +++ 2.6.9-rc1-mm4-bh1/drivers/input/serio/i8042-x86ia64io.h 2004-09-07 14:51:06.000000000 -0600
    @@ -155,9 +155,23 @@
    acpi_device_name(device), acpi_device_bid(device),
    kbd_res.port1, kbd_res.port2, kbd_res.irq);

    - i8042_data_reg = kbd_res.port1;
    - i8042_command_reg = kbd_res.port2;
    - i8042_kbd_irq = kbd_res.irq;
    + if (kbd_res.port1)
    + i8042_data_reg = kbd_res.port1;
    + else
    + printk(KERN_WARNING "i8042: bogus data port address in %s _CRS, defaulting to 0x%x\n",
    + acpi_device_bid(device), i8042_data_reg);
    +
    + if (kbd_res.port2)
    + i8042_command_reg = kbd_res.port2;
    + else
    + printk(KERN_WARNING "i8042: bogus command port address in %s _CRS, defaulting to 0x%x\n",
    + acpi_device_bid(device), i8042_command_reg);
    +
    + if (kbd_res.irq)
    + i8042_kbd_irq = kbd_res.irq;
    + else
    + printk(KERN_WARNING "i8042: bogus IRQ in %s _CRS, defaulting to %d\n",
    + acpi_device_bid(device), i8042_kbd_irq);

    return 0;
    }
    @@ -176,7 +190,11 @@
    printk("i8042: ACPI %s [%s] at irq %d\n",
    acpi_device_name(device), acpi_device_bid(device), aux_res.irq);

    - i8042_aux_irq = aux_res.irq;
    + if (aux_res.irq)
    + i8042_aux_irq = aux_res.irq;
    + else
    + printk(KERN_WARNING "i8042: bogus IRQ in %s _CRS, defaulting to %d\n",
    + acpi_device_bid(device), i8042_aux_irq);

    return 0;
    }
    @@ -201,7 +219,7 @@
    {
    int result;

    - if (i8042_noacpi) {
    + if (acpi_disabled || i8042_noacpi) {
    printk("i8042: ACPI detection disabled\n");
    return 0;
    }
    -
    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:06    [W:0.083 / U:63.052 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site