vmwgfx: Snoop DMA transfers with non-covering sizes
[pandora-kernel.git] / 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
21 static 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
34 struct 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
41 void __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 }