diff options
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index 94df003aea4b..7109b3f21a63 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/mfd/abx500/ab8500-gpio.h> | 30 | #include <linux/mfd/abx500/ab8500-gpio.h> |
31 | #include <linux/platform_data/leds-lp55xx.h> | 31 | #include <linux/platform_data/leds-lp55xx.h> |
32 | #include <linux/input.h> | 32 | #include <linux/input.h> |
33 | #include <linux/gpio_keys.h> | ||
34 | #include <linux/delay.h> | 33 | #include <linux/delay.h> |
35 | #include <linux/leds.h> | 34 | #include <linux/leds.h> |
36 | #include <linux/pinctrl/consumer.h> | 35 | #include <linux/pinctrl/consumer.h> |
@@ -62,59 +61,6 @@ static void __init mop500_i2c_init(struct device *parent) | |||
62 | db8500_add_i2c3(parent, NULL); | 61 | db8500_add_i2c3(parent, NULL); |
63 | } | 62 | } |
64 | 63 | ||
65 | static struct gpio_keys_button mop500_gpio_keys[] = { | ||
66 | { | ||
67 | .desc = "SFH7741 Proximity Sensor", | ||
68 | .type = EV_SW, | ||
69 | .code = SW_FRONT_PROXIMITY, | ||
70 | .active_low = 0, | ||
71 | .can_disable = 1, | ||
72 | } | ||
73 | }; | ||
74 | |||
75 | static struct regulator *prox_regulator; | ||
76 | static int mop500_prox_activate(struct device *dev); | ||
77 | static void mop500_prox_deactivate(struct device *dev); | ||
78 | |||
79 | static struct gpio_keys_platform_data mop500_gpio_keys_data = { | ||
80 | .buttons = mop500_gpio_keys, | ||
81 | .nbuttons = ARRAY_SIZE(mop500_gpio_keys), | ||
82 | .enable = mop500_prox_activate, | ||
83 | .disable = mop500_prox_deactivate, | ||
84 | }; | ||
85 | |||
86 | static struct platform_device mop500_gpio_keys_device = { | ||
87 | .name = "gpio-keys", | ||
88 | .id = 0, | ||
89 | .dev = { | ||
90 | .platform_data = &mop500_gpio_keys_data, | ||
91 | }, | ||
92 | }; | ||
93 | |||
94 | static int mop500_prox_activate(struct device *dev) | ||
95 | { | ||
96 | prox_regulator = regulator_get(&mop500_gpio_keys_device.dev, | ||
97 | "vcc"); | ||
98 | if (IS_ERR(prox_regulator)) { | ||
99 | dev_err(&mop500_gpio_keys_device.dev, | ||
100 | "no regulator\n"); | ||
101 | return PTR_ERR(prox_regulator); | ||
102 | } | ||
103 | |||
104 | return regulator_enable(prox_regulator); | ||
105 | } | ||
106 | |||
107 | static void mop500_prox_deactivate(struct device *dev) | ||
108 | { | ||
109 | regulator_disable(prox_regulator); | ||
110 | regulator_put(prox_regulator); | ||
111 | } | ||
112 | |||
113 | /* add any platform devices here - TODO */ | ||
114 | static struct platform_device *mop500_platform_devs[] __initdata = { | ||
115 | &mop500_gpio_keys_device, | ||
116 | }; | ||
117 | |||
118 | #ifdef CONFIG_STE_DMA40 | 64 | #ifdef CONFIG_STE_DMA40 |
119 | static struct stedma40_chan_cfg ssp0_dma_cfg_rx = { | 65 | static struct stedma40_chan_cfg ssp0_dma_cfg_rx = { |
120 | .mode = STEDMA40_MODE_LOGICAL, | 66 | .mode = STEDMA40_MODE_LOGICAL, |
@@ -222,20 +168,12 @@ static void __init mop500_uart_init(struct device *parent) | |||
222 | static void __init mop500_init_machine(void) | 168 | static void __init mop500_init_machine(void) |
223 | { | 169 | { |
224 | struct device *parent = NULL; | 170 | struct device *parent = NULL; |
225 | int i; | ||
226 | 171 | ||
227 | platform_device_register(&db8500_prcmu_device); | 172 | platform_device_register(&db8500_prcmu_device); |
228 | mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; | ||
229 | 173 | ||
230 | mop500_pinmaps_init(); | 174 | mop500_pinmaps_init(); |
231 | parent = u8500_init_devices(); | 175 | parent = u8500_init_devices(); |
232 | 176 | ||
233 | for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) | ||
234 | mop500_platform_devs[i]->dev.parent = parent; | ||
235 | |||
236 | platform_add_devices(mop500_platform_devs, | ||
237 | ARRAY_SIZE(mop500_platform_devs)); | ||
238 | |||
239 | mop500_i2c_init(parent); | 177 | mop500_i2c_init(parent); |
240 | mop500_sdi_init(parent); | 178 | mop500_sdi_init(parent); |
241 | mop500_spi_init(parent); | 179 | mop500_spi_init(parent); |
@@ -267,25 +205,12 @@ static void __init snowball_init_machine(void) | |||
267 | static void __init hrefv60_init_machine(void) | 205 | static void __init hrefv60_init_machine(void) |
268 | { | 206 | { |
269 | struct device *parent = NULL; | 207 | struct device *parent = NULL; |
270 | int i; | ||
271 | 208 | ||
272 | platform_device_register(&db8500_prcmu_device); | 209 | platform_device_register(&db8500_prcmu_device); |
273 | /* | ||
274 | * The HREFv60 board removed a GPIO expander and routed | ||
275 | * all these GPIO pins to the internal GPIO controller | ||
276 | * instead. | ||
277 | */ | ||
278 | mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; | ||
279 | 210 | ||
280 | hrefv60_pinmaps_init(); | 211 | hrefv60_pinmaps_init(); |
281 | parent = u8500_init_devices(); | 212 | parent = u8500_init_devices(); |
282 | 213 | ||
283 | for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) | ||
284 | mop500_platform_devs[i]->dev.parent = parent; | ||
285 | |||
286 | platform_add_devices(mop500_platform_devs, | ||
287 | ARRAY_SIZE(mop500_platform_devs)); | ||
288 | |||
289 | mop500_i2c_init(parent); | 214 | mop500_i2c_init(parent); |
290 | hrefv60_sdi_init(parent); | 215 | hrefv60_sdi_init(parent); |
291 | mop500_spi_init(parent); | 216 | mop500_spi_init(parent); |