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