• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/arm/plat-samsung/
1/*
2 * linux/arch/arm/plat-samsung/dev-keypad.c
3 *
4 * Copyright (C) 2010 Samsung Electronics Co.Ltd
5 * Author: Joonyoung Shim <jy0922.shim@samsung.com>
6 *
7 *  This program is free software; you can redistribute  it and/or modify it
8 *  under  the terms of  the GNU General  Public License as published by the
9 *  Free Software Foundation;  either version 2 of the  License, or (at your
10 *  option) any later version.
11 *
12 */
13
14#include <linux/platform_device.h>
15#include <mach/irqs.h>
16#include <mach/map.h>
17#include <plat/cpu.h>
18#include <plat/devs.h>
19#include <plat/keypad.h>
20
21static struct resource samsung_keypad_resources[] = {
22	[0] = {
23		.start	= SAMSUNG_PA_KEYPAD,
24		.end	= SAMSUNG_PA_KEYPAD + 0x20 - 1,
25		.flags	= IORESOURCE_MEM,
26	},
27	[1] = {
28		.start	= IRQ_KEYPAD,
29		.end	= IRQ_KEYPAD,
30		.flags	= IORESOURCE_IRQ,
31	},
32};
33
34struct platform_device samsung_device_keypad = {
35	.name		= "samsung-keypad",
36	.id		= -1,
37	.num_resources	= ARRAY_SIZE(samsung_keypad_resources),
38	.resource	= samsung_keypad_resources,
39};
40
41void __init samsung_keypad_set_platdata(struct samsung_keypad_platdata *pd)
42{
43	struct samsung_keypad_platdata *npd;
44
45	npd = s3c_set_platdata(pd, sizeof(struct samsung_keypad_platdata),
46			&samsung_device_keypad);
47
48	if (!npd->cfg_gpio)
49		npd->cfg_gpio = samsung_keypad_cfg_gpio;
50}
51