Dmitry, On 10/06/2010 11:46 AM, Dmitry Torokhov wrote: > - /* program keyboard */ > - val |= SCAN_RATE_80 | MODE_KEYBOARD | PCLK_FREQ_MSK; > - writew(val, kbd->io_base + MODE_REG); > + input_dev->keycode = kbd->keycodes; > + input_dev->keycodesize = sizeof(kbd->keycodes[0]); > + input_dev->keycodemax = ARRAY_SIZE(kbd->keycodes); > > - writeb(1, kbd->io_base + STATUS_REG); > + matrix_keypad_build_keymap(keymap, ROW_SHIFT, > + input_dev->keycode, input_dev->keybit); > > - device_init_wakeup(&pdev->dev, 1); > + input_set_drvdata(input_dev, kbd); > + > + /* ensure device is shut off */ > + spear_kbd_close(input_dev); Since, clock to keyboard is not enabled at this time (during probe), this function call is not required. This tries to disable clock which is never enabled. I have removed this function call and tested your patch and was working fine. -- viresh -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html