Messages in this thread | | | Subject | Re: 2.6.8-rc1-mm4: allow-i8042-register-location-override-2.patch | From | Sean Neakums <> | Date | Fri, 17 Sep 2004 21:33:54 +0100 |
| |
Bjorn Helgaas <bjorn.helgaas@hp.com> writes:
> 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?
With this patch applied and no extra boot parameters, my keyboard works.
> --- 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/
| |