diff options
Diffstat (limited to 'arch/arm/mach-tegra/board-paz00.c')
-rw-r--r-- | arch/arm/mach-tegra/board-paz00.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c index 33d6205ad30..fcf4f377b1d 100644 --- a/arch/arm/mach-tegra/board-paz00.c +++ b/arch/arm/mach-tegra/board-paz00.c | |||
@@ -23,8 +23,10 @@ | |||
23 | #include <linux/serial_8250.h> | 23 | #include <linux/serial_8250.h> |
24 | #include <linux/clk.h> | 24 | #include <linux/clk.h> |
25 | #include <linux/dma-mapping.h> | 25 | #include <linux/dma-mapping.h> |
26 | #include <linux/gpio_keys.h> | ||
26 | #include <linux/pda_power.h> | 27 | #include <linux/pda_power.h> |
27 | #include <linux/io.h> | 28 | #include <linux/io.h> |
29 | #include <linux/input.h> | ||
28 | #include <linux/i2c.h> | 30 | #include <linux/i2c.h> |
29 | #include <linux/gpio.h> | 31 | #include <linux/gpio.h> |
30 | #include <linux/rfkill-gpio.h> | 32 | #include <linux/rfkill-gpio.h> |
@@ -115,12 +117,37 @@ static struct platform_device leds_gpio = { | |||
115 | }, | 117 | }, |
116 | }; | 118 | }; |
117 | 119 | ||
120 | static struct gpio_keys_button paz00_gpio_keys_buttons[] = { | ||
121 | { | ||
122 | .code = KEY_POWER, | ||
123 | .gpio = TEGRA_GPIO_POWERKEY, | ||
124 | .active_low = 1, | ||
125 | .desc = "Power", | ||
126 | .type = EV_KEY, | ||
127 | .wakeup = 1, | ||
128 | }, | ||
129 | }; | ||
130 | |||
131 | static struct gpio_keys_platform_data paz00_gpio_keys = { | ||
132 | .buttons = paz00_gpio_keys_buttons, | ||
133 | .nbuttons = ARRAY_SIZE(paz00_gpio_keys_buttons), | ||
134 | }; | ||
135 | |||
136 | static struct platform_device gpio_keys_device = { | ||
137 | .name = "gpio-keys", | ||
138 | .id = -1, | ||
139 | .dev = { | ||
140 | .platform_data = &paz00_gpio_keys, | ||
141 | }, | ||
142 | }; | ||
143 | |||
118 | static struct platform_device *paz00_devices[] __initdata = { | 144 | static struct platform_device *paz00_devices[] __initdata = { |
119 | &debug_uart, | 145 | &debug_uart, |
120 | &tegra_sdhci_device4, | 146 | &tegra_sdhci_device4, |
121 | &tegra_sdhci_device1, | 147 | &tegra_sdhci_device1, |
122 | &wifi_rfkill_device, | 148 | &wifi_rfkill_device, |
123 | &leds_gpio, | 149 | &leds_gpio, |
150 | &gpio_keys_device, | ||
124 | }; | 151 | }; |
125 | 152 | ||
126 | static void paz00_i2c_init(void) | 153 | static void paz00_i2c_init(void) |
@@ -189,7 +216,7 @@ MACHINE_START(PAZ00, "Toshiba AC100 / Dynabook AZ") | |||
189 | .atag_offset = 0x100, | 216 | .atag_offset = 0x100, |
190 | .fixup = tegra_paz00_fixup, | 217 | .fixup = tegra_paz00_fixup, |
191 | .map_io = tegra_map_common_io, | 218 | .map_io = tegra_map_common_io, |
192 | .init_early = tegra_init_early, | 219 | .init_early = tegra20_init_early, |
193 | .init_irq = tegra_init_irq, | 220 | .init_irq = tegra_init_irq, |
194 | .handle_irq = gic_handle_irq, | 221 | .handle_irq = gic_handle_irq, |
195 | .timer = &tegra_timer, | 222 | .timer = &tegra_timer, |