diff options
author | Florian Fainelli <florian.fainelli@telecomint.eu> | 2008-01-07 19:00:46 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-01-29 11:15:01 +0100 |
commit | f6ed10ab972b00cd57567a2ac9e393226840e458 (patch) | |
tree | 8194f402b18781f9371782c6b93e74fb112ab3ab /arch | |
parent | [MIPS] Delete CONFIG_MSP_FPGA (diff) | |
download | linux-f6ed10ab972b00cd57567a2ac9e393226840e458.tar.xz linux-f6ed10ab972b00cd57567a2ac9e393226840e458.zip |
[MIPS] MTX-1: Add GPIO system button
This patch adds support for the GPIO connected system button on the MTX-1
boards. Default configuration is updated accordingly.
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/au1000/mtx-1/platform.c | 27 | ||||
-rw-r--r-- | arch/mips/configs/mtx1_defconfig | 1 |
2 files changed, 27 insertions, 1 deletions
diff --git a/arch/mips/au1000/mtx-1/platform.c b/arch/mips/au1000/mtx-1/platform.c index 49c0fb409fea..ce8637b3afa9 100644 --- a/arch/mips/au1000/mtx-1/platform.c +++ b/arch/mips/au1000/mtx-1/platform.c @@ -22,9 +22,32 @@ #include <linux/types.h> #include <linux/platform_device.h> #include <linux/leds.h> +#include <linux/gpio_keys.h> +#include <linux/input.h> #include <asm/gpio.h> +static struct gpio_keys_button mtx1_gpio_button[] = { + { + .gpio = 207, + .code = BTN_0, + .desc = "System button", + } +}; + +static struct gpio_keys_platform_data mtx1_buttons_data = { + .buttons = mtx1_gpio_button, + .nbuttons = ARRAY_SIZE(mtx1_gpio_button), +}; + +static struct platform_device mtx1_button = { + .name = "gpio-keys", + .id = -1, + .dev = { + .platform_data = &mtx1_buttons_data, + } +}; + static struct resource mtx1_wdt_res[] = { [0] = { .start = 15, @@ -66,11 +89,13 @@ static struct platform_device mtx1_gpio_leds = { static struct __initdata platform_device * mtx1_devs[] = { &mtx1_gpio_leds, - &mtx1_wdt + &mtx1_wdt, + &mtx1_button }; static int __init mtx1_register_devices(void) { + gpio_direction_input(207); return platform_add_devices(mtx1_devs, ARRAY_SIZE(mtx1_devs)); } diff --git a/arch/mips/configs/mtx1_defconfig b/arch/mips/configs/mtx1_defconfig index be82f123324d..3a34208600d1 100644 --- a/arch/mips/configs/mtx1_defconfig +++ b/arch/mips/configs/mtx1_defconfig @@ -1616,6 +1616,7 @@ CONFIG_INPUT_EVBUG=m # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_GPIO=y CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_LKKBD=m CONFIG_KEYBOARD_XTKBD=m |