diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-05 14:44:13 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-05 14:44:13 -0700 |
commit | 930b440cd8256f3861bdb0a59d26efaadac7941a (patch) | |
tree | 145ac54e152834fed7bce78b3eb33e8ea4d90226 /arch/arm/mach-pxa | |
parent | ff050ad12c551233e546506409c89eb2f640d9f3 (diff) | |
parent | 077492acceeafc0a106f88b0780623d2321a8947 (diff) |
Merge tag 'boards-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board changes from Arnd Bergmann:
"As we continue to replace board files with device tree descriptions,
this part of the ARM support is getting smaller. We have basically
just defconfig changes here this time, and a significant number of
Renesas shmobile changes, as Renesas is still in the process of
deprecating board file support"
* tag 'boards-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
ARM: enable fhandle in multi_v7_defconfig
ARM: tegra: enable fhandle in tegra_defconfig
ARM: update multi_v7_defconfig for Tegra
ARM: add Marvell Dove and some drivers to multi_v7 defconfig
ARM: fix duplicate symbols in multi_v5_defconfig
ARM: pxa: add gpio keys information
ARM: tegra: defconfig updates
ARM: config: keystone: enable AEMIF/NAND support
ARM: qcom: Enable basic support for Qualcomm platforms in multi_v7_defconfig
ARM: kirkwood: Add HP T5325 devices to {multi|mvebu}_v5_defconfig
ARM: config: Add mvebu_v5_defconfig
ARM: config: Add a multi_v5_defconfig
ARM: shmobile: r7s72100: update defconfig for I2C usage
ARM: shmobile: Remove Lager DT reference legacy clock bits
ARM: shmobile: Remove Koelsch DT reference legacy clock bits
ARM: shmobile: Remove KZM9D board code
ARM: mvebu: update defconfigs for Armada 375 and 38x
ARM: dove: Enable watchdog support in the defconfig
ARM: mvebu: Enable watchdog support in defconfig
ARM: config: keystone: enable led support
...
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r-- | arch/arm/mach-pxa/corgi.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index f162f1b77cd..57d60542f98 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c @@ -32,6 +32,7 @@ #include <linux/spi/pxa2xx_spi.h> #include <linux/mtd/sharpsl.h> #include <linux/input/matrix_keypad.h> +#include <linux/gpio_keys.h> #include <linux/module.h> #include <video/w100fb.h> @@ -405,6 +406,44 @@ static struct platform_device corgikbd_device = { }, }; +static struct gpio_keys_button corgi_gpio_keys[] = { + { + .type = EV_SW, + .code = SW_LID, + .gpio = CORGI_GPIO_SWA, + .desc = "Lid close switch", + .debounce_interval = 500, + }, + { + .type = EV_SW, + .code = SW_TABLET_MODE, + .gpio = CORGI_GPIO_SWB, + .desc = "Tablet mode switch", + .debounce_interval = 500, + }, + { + .type = EV_SW, + .code = SW_HEADPHONE_INSERT, + .gpio = CORGI_GPIO_AK_INT, + .desc = "HeadPhone insert", + .debounce_interval = 500, + }, +}; + +static struct gpio_keys_platform_data corgi_gpio_keys_platform_data = { + .buttons = corgi_gpio_keys, + .nbuttons = ARRAY_SIZE(corgi_gpio_keys), + .poll_interval = 250, +}; + +static struct platform_device corgi_gpio_keys_device = { + .name = "gpio-keys-polled", + .id = -1, + .dev = { + .platform_data = &corgi_gpio_keys_platform_data, + }, +}; + /* * Corgi LEDs */ @@ -646,6 +685,7 @@ static struct platform_device sharpsl_rom_device = { static struct platform_device *devices[] __initdata = { &corgiscoop_device, &corgifb_device, + &corgi_gpio_keys_device, &corgikbd_device, &corgiled_device, &corgi_audio_device, |