diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/board-omap3pandora.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-zoom-peripherals.c | 54 | ||||
-rw-r--r-- | arch/s390/include/asm/qdio.h | 13 |
4 files changed, 64 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index b7d6df4e3cf9..41d6f549070c 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/spi/ads7846.h> | 25 | #include <linux/spi/ads7846.h> |
26 | #include <linux/regulator/machine.h> | 26 | #include <linux/regulator/machine.h> |
27 | #include <linux/i2c/twl.h> | 27 | #include <linux/i2c/twl.h> |
28 | #include <linux/spi/wl12xx.h> | 28 | #include <linux/wl12xx.h> |
29 | #include <linux/mtd/partitions.h> | 29 | #include <linux/mtd/partitions.h> |
30 | #include <linux/mtd/nand.h> | 30 | #include <linux/mtd/nand.h> |
31 | #include <linux/leds.h> | 31 | #include <linux/leds.h> |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 9a5eb87425fc..ce28a851dcd3 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <linux/input.h> | 14 | #include <linux/input.h> |
15 | #include <linux/input/matrix_keypad.h> | 15 | #include <linux/input/matrix_keypad.h> |
16 | #include <linux/spi/spi.h> | 16 | #include <linux/spi/spi.h> |
17 | #include <linux/spi/wl12xx.h> | 17 | #include <linux/wl12xx.h> |
18 | #include <linux/i2c.h> | 18 | #include <linux/i2c.h> |
19 | #include <linux/i2c/twl.h> | 19 | #include <linux/i2c/twl.h> |
20 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index 6b3984964cc5..189a6d1600b2 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c | |||
@@ -16,6 +16,8 @@ | |||
16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
17 | #include <linux/i2c/twl.h> | 17 | #include <linux/i2c/twl.h> |
18 | #include <linux/regulator/machine.h> | 18 | #include <linux/regulator/machine.h> |
19 | #include <linux/regulator/fixed.h> | ||
20 | #include <linux/wl12xx.h> | ||
19 | 21 | ||
20 | #include <asm/mach-types.h> | 22 | #include <asm/mach-types.h> |
21 | #include <asm/mach/arch.h> | 23 | #include <asm/mach/arch.h> |
@@ -27,6 +29,9 @@ | |||
27 | #include "mux.h" | 29 | #include "mux.h" |
28 | #include "hsmmc.h" | 30 | #include "hsmmc.h" |
29 | 31 | ||
32 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) | ||
33 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) | ||
34 | |||
30 | /* Zoom2 has Qwerty keyboard*/ | 35 | /* Zoom2 has Qwerty keyboard*/ |
31 | static int board_keymap[] = { | 36 | static int board_keymap[] = { |
32 | KEY(0, 0, KEY_E), | 37 | KEY(0, 0, KEY_E), |
@@ -106,6 +111,11 @@ static struct regulator_consumer_supply zoom_vmmc2_supply = { | |||
106 | .supply = "vmmc", | 111 | .supply = "vmmc", |
107 | }; | 112 | }; |
108 | 113 | ||
114 | static struct regulator_consumer_supply zoom_vmmc3_supply = { | ||
115 | .supply = "vmmc", | ||
116 | .dev_name = "mmci-omap-hs.2", | ||
117 | }; | ||
118 | |||
109 | /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ | 119 | /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ |
110 | static struct regulator_init_data zoom_vmmc1 = { | 120 | static struct regulator_init_data zoom_vmmc1 = { |
111 | .constraints = { | 121 | .constraints = { |
@@ -151,6 +161,38 @@ static struct regulator_init_data zoom_vsim = { | |||
151 | .consumer_supplies = &zoom_vsim_supply, | 161 | .consumer_supplies = &zoom_vsim_supply, |
152 | }; | 162 | }; |
153 | 163 | ||
164 | static struct regulator_init_data zoom_vmmc3 = { | ||
165 | .constraints = { | ||
166 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
167 | }, | ||
168 | .num_consumer_supplies = 1, | ||
169 | .consumer_supplies = &zoom_vmmc3_supply, | ||
170 | }; | ||
171 | |||
172 | static struct fixed_voltage_config zoom_vwlan = { | ||
173 | .supply_name = "vwl1271", | ||
174 | .microvolts = 1800000, /* 1.8V */ | ||
175 | .gpio = OMAP_ZOOM_WLAN_PMENA_GPIO, | ||
176 | .startup_delay = 70000, /* 70msec */ | ||
177 | .enable_high = 1, | ||
178 | .enabled_at_boot = 0, | ||
179 | .init_data = &zoom_vmmc3, | ||
180 | }; | ||
181 | |||
182 | static struct platform_device omap_vwlan_device = { | ||
183 | .name = "reg-fixed-voltage", | ||
184 | .id = 1, | ||
185 | .dev = { | ||
186 | .platform_data = &zoom_vwlan, | ||
187 | }, | ||
188 | }; | ||
189 | |||
190 | struct wl12xx_platform_data omap_zoom_wlan_data __initdata = { | ||
191 | .irq = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO), | ||
192 | /* ZOOM ref clock is 26 MHz */ | ||
193 | .board_ref_clock = 1, | ||
194 | }; | ||
195 | |||
154 | static struct omap2_hsmmc_info mmc[] __initdata = { | 196 | static struct omap2_hsmmc_info mmc[] __initdata = { |
155 | { | 197 | { |
156 | .name = "external", | 198 | .name = "external", |
@@ -168,6 +210,14 @@ static struct omap2_hsmmc_info mmc[] __initdata = { | |||
168 | .nonremovable = true, | 210 | .nonremovable = true, |
169 | .power_saving = true, | 211 | .power_saving = true, |
170 | }, | 212 | }, |
213 | { | ||
214 | .name = "wl1271", | ||
215 | .mmc = 3, | ||
216 | .caps = MMC_CAP_4_BIT_DATA, | ||
217 | .gpio_wp = -EINVAL, | ||
218 | .gpio_cd = -EINVAL, | ||
219 | .nonremovable = true, | ||
220 | }, | ||
171 | {} /* Terminator */ | 221 | {} /* Terminator */ |
172 | }; | 222 | }; |
173 | 223 | ||
@@ -279,7 +329,11 @@ static void enable_board_wakeup_source(void) | |||
279 | 329 | ||
280 | void __init zoom_peripherals_init(void) | 330 | void __init zoom_peripherals_init(void) |
281 | { | 331 | { |
332 | if (wl12xx_set_platform_data(&omap_zoom_wlan_data)) | ||
333 | pr_err("error setting wl12xx data\n"); | ||
334 | |||
282 | omap_i2c_init(); | 335 | omap_i2c_init(); |
336 | platform_device_register(&omap_vwlan_device); | ||
283 | usb_musb_init(&musb_board_data); | 337 | usb_musb_init(&musb_board_data); |
284 | enable_board_wakeup_source(); | 338 | enable_board_wakeup_source(); |
285 | } | 339 | } |
diff --git a/arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h index 2ba630276295..46e96bc1f5a1 100644 --- a/arch/s390/include/asm/qdio.h +++ b/arch/s390/include/asm/qdio.h | |||
@@ -360,6 +360,7 @@ struct qdio_initialize { | |||
360 | unsigned int no_output_qs; | 360 | unsigned int no_output_qs; |
361 | qdio_handler_t *input_handler; | 361 | qdio_handler_t *input_handler; |
362 | qdio_handler_t *output_handler; | 362 | qdio_handler_t *output_handler; |
363 | void (*queue_start_poll) (struct ccw_device *, int, unsigned long); | ||
363 | unsigned long int_parm; | 364 | unsigned long int_parm; |
364 | void **input_sbal_addr_array; | 365 | void **input_sbal_addr_array; |
365 | void **output_sbal_addr_array; | 366 | void **output_sbal_addr_array; |
@@ -377,11 +378,13 @@ struct qdio_initialize { | |||
377 | extern int qdio_allocate(struct qdio_initialize *); | 378 | extern int qdio_allocate(struct qdio_initialize *); |
378 | extern int qdio_establish(struct qdio_initialize *); | 379 | extern int qdio_establish(struct qdio_initialize *); |
379 | extern int qdio_activate(struct ccw_device *); | 380 | extern int qdio_activate(struct ccw_device *); |
380 | 381 | extern int do_QDIO(struct ccw_device *, unsigned int, int, unsigned int, | |
381 | extern int do_QDIO(struct ccw_device *cdev, unsigned int callflags, | 382 | unsigned int); |
382 | int q_nr, unsigned int bufnr, unsigned int count); | 383 | extern int qdio_start_irq(struct ccw_device *, int); |
383 | extern int qdio_shutdown(struct ccw_device*, int); | 384 | extern int qdio_stop_irq(struct ccw_device *, int); |
385 | extern int qdio_get_next_buffers(struct ccw_device *, int, int *, int *); | ||
386 | extern int qdio_shutdown(struct ccw_device *, int); | ||
384 | extern int qdio_free(struct ccw_device *); | 387 | extern int qdio_free(struct ccw_device *); |
385 | extern int qdio_get_ssqd_desc(struct ccw_device *dev, struct qdio_ssqd_desc*); | 388 | extern int qdio_get_ssqd_desc(struct ccw_device *, struct qdio_ssqd_desc *); |
386 | 389 | ||
387 | #endif /* __QDIO_H__ */ | 390 | #endif /* __QDIO_H__ */ |