This additional call can be used for extending functionality of driver. For example we can add EV_SND, EV_LED, etc. handlers. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> --- drivers/input/keyboard/gpio_keys.c | 3 +++ include/linux/gpio_keys.h | 2 ++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c index 62bfce4..2b1bcb2 100644 --- a/drivers/input/keyboard/gpio_keys.c +++ b/drivers/input/keyboard/gpio_keys.c @@ -707,6 +707,9 @@ static int __devinit gpio_keys_probe(struct platform_device *pdev) wakeup = 1; } + if (pdata->setup) + pdata->setup(input); + error = sysfs_create_group(&pdev->dev.kobj, &gpio_keys_attr_group); if (error) { dev_err(dev, "Unable to export keys/switches, error: %d\n", diff --git a/include/linux/gpio_keys.h b/include/linux/gpio_keys.h index a7e977f..0dfd3fe 100644 --- a/include/linux/gpio_keys.h +++ b/include/linux/gpio_keys.h @@ -2,6 +2,7 @@ #define _GPIO_KEYS_H struct device; +struct input_dev; struct gpio_keys_button { /* Configuration parameters */ @@ -25,6 +26,7 @@ struct gpio_keys_platform_data { unsigned int rep:1; /* enable input subsystem auto repeat */ int (*enable)(struct device *dev); void (*disable)(struct device *dev); + int (*setup)(struct input_dev *input); const char *name; /* input device name */ }; -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html