gpio_keys: add ability to reserve keys
authorGrazvydas Ignotas <notasas@gmail.com>
Thu, 25 Feb 2010 20:48:27 +0000 (22:48 +0200)
committerGrazvydas Ignotas <notasas@gmail.com>
Thu, 25 Feb 2010 20:48:27 +0000 (22:48 +0200)
Allow reserving additional keys in case we want to change
some keycodes during runtime.

drivers/input/keyboard/gpio_keys.c
include/linux/gpio_keys.h

index ec96b36..74de0ce 100644 (file)
@@ -165,6 +165,9 @@ static int __devinit gpio_keys_probe(struct platform_device *pdev)
                input_set_capability(input, type, button->code);
        }
 
+       for (i = 0; i < pdata->nbuttons_reserved; i++)
+               input_set_capability(input, EV_KEY, pdata->buttons_reserved[i]);
+
        error = input_register_device(input);
        if (error) {
                pr_err("gpio-keys: Unable to register input device, "
index ec6ecd7..fb88422 100644 (file)
@@ -15,6 +15,8 @@ struct gpio_keys_button {
 struct gpio_keys_platform_data {
        struct gpio_keys_button *buttons;
        int nbuttons;
+       const unsigned short *buttons_reserved;
+       int nbuttons_reserved;
 };
 
 #endif