Root/arch/arm/plat-samsung/dev-keypad.c

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

Archive Download this file



interactive