Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 003ddede authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Kukjin Kim
Browse files

ARM: S3C2440: Add button support on GTA02



This patch adds support for the two buttons found on the gta02 device,
which are connectd to gpio pins, using the gpio-keys driver.

Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent afbb1edc
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -58,6 +58,9 @@
#include <linux/mfd/pcf50633/pmic.h>
#include <linux/mfd/pcf50633/backlight.h>

#include <linux/input.h>
#include <linux/gpio_keys.h>

#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
@@ -489,6 +492,36 @@ static struct s3c2410_hcd_info gta02_usb_info __initdata = {
	},
};

/* Buttons */
static struct gpio_keys_button gta02_buttons[] = {
	{
		.gpio = GTA02_GPIO_AUX_KEY,
		.code = KEY_PHONE,
		.desc = "Aux",
		.type = EV_KEY,
		.debounce_interval = 100,
	},
	{
		.gpio = GTA02_GPIO_HOLD_KEY,
		.code = KEY_PAUSE,
		.desc = "Hold",
		.type = EV_KEY,
		.debounce_interval = 100,
	},
};

static struct gpio_keys_platform_data gta02_buttons_pdata = {
	.buttons = gta02_buttons,
	.nbuttons = ARRAY_SIZE(gta02_buttons),
};

static struct platform_device gta02_buttons_device = {
	.name = "gpio-keys",
	.id = -1,
	.dev = {
		.platform_data = &gta02_buttons_pdata,
	},
};

static void __init gta02_map_io(void)
{
@@ -511,6 +544,7 @@ static struct platform_device *gta02_devices[] __initdata = {
	&s3c_device_iis,
	&samsung_asoc_dma,
	&s3c_device_i2c0,
	&gta02_buttons_device,
};

/* These guys DO need to be children of PMU. */