Commit b889f2d7 authored by Olof Johansson's avatar Olof Johansson
Browse files
* tag 'pxa' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux

:
  ARM: pxa: add gpio keys information

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents b3e2e243 dc5dfab4
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
@@ -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,