Input: matrix-keymap - uninline and prepare for device tree support
[deliverable/linux.git] / drivers / input / keyboard / matrix_keypad.c
index 98ae281bedb0503cd0bc0942d818e6abba0047a3..18b72372028ab9e3f67cdc4a0df7002a097ef9d9 100644 (file)
@@ -437,19 +437,18 @@ static int __devinit matrix_keypad_probe(struct platform_device *pdev)
        input_dev->name         = pdev->name;
        input_dev->id.bustype   = BUS_HOST;
        input_dev->dev.parent   = &pdev->dev;
-       input_dev->evbit[0]     = BIT_MASK(EV_KEY);
-       if (!pdata->no_autorepeat)
-               input_dev->evbit[0] |= BIT_MASK(EV_REP);
        input_dev->open         = matrix_keypad_start;
        input_dev->close        = matrix_keypad_stop;
 
-       input_dev->keycode      = keypad->keycodes;
-       input_dev->keycodesize  = sizeof(keypad->keycodes[0]);
-       input_dev->keycodemax   = pdata->num_row_gpios << row_shift;
-
-       matrix_keypad_build_keymap(keymap_data, row_shift,
-                                  input_dev->keycode, input_dev->keybit);
+       err = matrix_keypad_build_keymap(keymap_data, NULL,
+                                        pdata->num_row_gpios,
+                                        pdata->num_col_gpios,
+                                        keypad->keycodes, input_dev);
+       if (err)
+               goto err_free_mem;
 
+       if (!pdata->no_autorepeat)
+               __set_bit(EV_REP, input_dev->evbit);
        input_set_capability(input_dev, EV_MSC, MSC_SCAN);
        input_set_drvdata(input_dev, keypad);
 
This page took 0.028809 seconds and 5 git commands to generate.