Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6.git] / drivers / char / keyboard.c
index 3e90aac3751032b74178a85fd31f5778f3bb7d29..ca234ce8004ab040bf4f797cda3b9ae292c4ed7a 100644 (file)
@@ -1285,7 +1285,7 @@ static void kbd_event(struct input_handle *handle, unsigned int event_type,
  */
 static struct input_handle *kbd_connect(struct input_handler *handler,
                                        struct input_dev *dev,
-                                       struct input_device_id *id)
+                                       const struct input_device_id *id)
 {
        struct input_handle *handle;
        int i;
@@ -1334,7 +1334,7 @@ static void kbd_start(struct input_handle *handle)
        tasklet_enable(&keyboard_tasklet);
 }
 
-static struct input_device_id kbd_ids[] = {
+static const struct input_device_id kbd_ids[] = {
        {
                 .flags = INPUT_DEVICE_ID_MATCH_EVBIT,
                 .evbit = { BIT(EV_KEY) },
@@ -1362,6 +1362,7 @@ static struct input_handler kbd_handler = {
 int __init kbd_init(void)
 {
        int i;
+       int error;
 
         for (i = 0; i < MAX_NR_CONSOLES; i++) {
                kbd_table[i].ledflagstate = KBD_DEFLEDS;
@@ -1373,7 +1374,9 @@ int __init kbd_init(void)
                kbd_table[i].kbdmode = VC_XLATE;
        }
 
-       input_register_handler(&kbd_handler);
+       error = input_register_handler(&kbd_handler);
+       if (error)
+               return error;
 
        tasklet_enable(&keyboard_tasklet);
        tasklet_schedule(&keyboard_tasklet);