Hi, I just noticed that i8042_enable_kbd_port in arch/mips/loongson/lemote-2f/pm.c is almost equal to i8042_enable_kbd_port in drivers/input/serio/i8042.c (+ is pm.c - the error message in pm.c contains the string i8042.c, the one in i8042.c not): static int i8042_enable_kbd_port(void) { + if (i8042_command(&i8042_ctr, I8042_CMD_CTL_RCTR)) { + pr_err("i8042.c: Can't read CTR while enabling i8042 kbd port." + "\n"); + return -EIO; + } + i8042_ctr &= ~I8042_CTR_KBDDIS; i8042_ctr |= I8042_CTR_KBDINT; if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { i8042_ctr &= ~I8042_CTR_KBDINT; i8042_ctr |= I8042_CTR_KBDDIS; - pr_err("Failed to enable KBD port\n"); + pr_err("i8042.c: Failed to enable KBD port.\n"); return -EIO; } (called as part of setup_wakeup_events outb((0xff & ~(1 << I8042_KBD_IRQ)), PIC_MASTER_IMR); irq_mask = inb(PIC_MASTER_IMR); i8042_enable_kbd_port(); ) This was added within 94d0b0e3 with this comment: MIPS: Yeeloong 2F: Add board specific suspend support Lemote Loongson 2F family machines need an external interrupt to wake the system from the suspend mode. For YeeLoong 2F and Mengloong 2F setup the keyboard interrupt as the wakeup interrupt. The new Fuloong 2F and LingLoong 2F have a button to directly send an interrupt to the CPU so there is no need to setup an interrupt. Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: yanh@xxxxxxxxxx Cc: huhb@xxxxxxxxxx Cc: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx Patchwork: http://patchwork.linux-mips.org/patch/630/ Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> My question now is: Could we migrate some way or other to use the standard i8042_enable_kbd_port? Andi