diff options
author | Tony Luck <tony.luck@intel.com> | 2005-10-20 13:41:44 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-10-20 13:41:44 -0400 |
commit | 9cec58dc138d6fcad9f447a19c8ff69f6540e667 (patch) | |
tree | 4fe1cca94fdba8b705c87615bee06d3346f687ce /arch/arm/mach-pxa | |
parent | 17e5ad6c0ce5a970e2830d0de8bdd60a2f077d38 (diff) | |
parent | ac9b9c667c2e1194e22ebe0a441ae1c37aaa9b90 (diff) |
Update from upstream with manual merge of Yasunori Goto's
changes to swiotlb.c made in commit 281dd25cdc0d6903929b79183816d151ea626341
since this file has been moved from arch/ia64/lib/swiotlb.c to
lib/swiotlb.c
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r-- | arch/arm/mach-pxa/corgi.c | 58 | ||||
-rw-r--r-- | arch/arm/mach-pxa/corgi_lcd.c | 21 | ||||
-rw-r--r-- | arch/arm/mach-pxa/generic.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/poodle.c | 113 | ||||
-rw-r--r-- | arch/arm/mach-pxa/spitz.c | 4 |
5 files changed, 137 insertions, 65 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 426c2bc517eb..60c8b9d8bb9c 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <asm/arch/mmc.h> | 36 | #include <asm/arch/mmc.h> |
37 | #include <asm/arch/udc.h> | 37 | #include <asm/arch/udc.h> |
38 | #include <asm/arch/corgi.h> | 38 | #include <asm/arch/corgi.h> |
39 | #include <asm/arch/sharpsl.h> | ||
39 | 40 | ||
40 | #include <asm/mach/sharpsl_param.h> | 41 | #include <asm/mach/sharpsl_param.h> |
41 | #include <asm/hardware/scoop.h> | 42 | #include <asm/hardware/scoop.h> |
@@ -198,13 +199,10 @@ static void corgi_mci_setpower(struct device *dev, unsigned int vdd) | |||
198 | { | 199 | { |
199 | struct pxamci_platform_data* p_d = dev->platform_data; | 200 | struct pxamci_platform_data* p_d = dev->platform_data; |
200 | 201 | ||
201 | if (( 1 << vdd) & p_d->ocr_mask) { | 202 | if (( 1 << vdd) & p_d->ocr_mask) |
202 | printk(KERN_DEBUG "%s: on\n", __FUNCTION__); | ||
203 | GPSR1 = GPIO_bit(CORGI_GPIO_SD_PWR); | 203 | GPSR1 = GPIO_bit(CORGI_GPIO_SD_PWR); |
204 | } else { | 204 | else |
205 | printk(KERN_DEBUG "%s: off\n", __FUNCTION__); | ||
206 | GPCR1 = GPIO_bit(CORGI_GPIO_SD_PWR); | 205 | GPCR1 = GPIO_bit(CORGI_GPIO_SD_PWR); |
207 | } | ||
208 | } | 206 | } |
209 | 207 | ||
210 | static int corgi_mci_get_ro(struct device *dev) | 208 | static int corgi_mci_get_ro(struct device *dev) |
@@ -259,6 +257,16 @@ static struct platform_device *devices[] __initdata = { | |||
259 | 257 | ||
260 | static void __init corgi_init(void) | 258 | static void __init corgi_init(void) |
261 | { | 259 | { |
260 | /* setup sleep mode values */ | ||
261 | PWER = 0x00000002; | ||
262 | PFER = 0x00000000; | ||
263 | PRER = 0x00000002; | ||
264 | PGSR0 = 0x0158C000; | ||
265 | PGSR1 = 0x00FF0080; | ||
266 | PGSR2 = 0x0001C004; | ||
267 | /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ | ||
268 | PCFR |= PCFR_OPDE; | ||
269 | |||
262 | corgi_ssp_set_machinfo(&corgi_ssp_machinfo); | 270 | corgi_ssp_set_machinfo(&corgi_ssp_machinfo); |
263 | 271 | ||
264 | pxa_gpio_mode(CORGI_GPIO_USB_PULLUP | GPIO_OUT); | 272 | pxa_gpio_mode(CORGI_GPIO_USB_PULLUP | GPIO_OUT); |
@@ -285,42 +293,14 @@ static void __init fixup_corgi(struct machine_desc *desc, | |||
285 | mi->bank[0].size = (64*1024*1024); | 293 | mi->bank[0].size = (64*1024*1024); |
286 | } | 294 | } |
287 | 295 | ||
288 | static void __init corgi_init_irq(void) | ||
289 | { | ||
290 | pxa_init_irq(); | ||
291 | } | ||
292 | |||
293 | static struct map_desc corgi_io_desc[] __initdata = { | ||
294 | /* virtual physical length */ | ||
295 | /* { 0xf1000000, 0x08000000, 0x01000000, MT_DEVICE },*/ /* LCDC (readable for Qt driver) */ | ||
296 | /* { 0xef700000, 0x10800000, 0x00001000, MT_DEVICE },*/ /* SCOOP */ | ||
297 | { 0xef800000, 0x00000000, 0x00800000, MT_DEVICE }, /* Boot Flash */ | ||
298 | }; | ||
299 | |||
300 | static void __init corgi_map_io(void) | ||
301 | { | ||
302 | pxa_map_io(); | ||
303 | iotable_init(corgi_io_desc,ARRAY_SIZE(corgi_io_desc)); | ||
304 | |||
305 | /* setup sleep mode values */ | ||
306 | PWER = 0x00000002; | ||
307 | PFER = 0x00000000; | ||
308 | PRER = 0x00000002; | ||
309 | PGSR0 = 0x0158C000; | ||
310 | PGSR1 = 0x00FF0080; | ||
311 | PGSR2 = 0x0001C004; | ||
312 | /* Stop 3.6MHz and drive HIGH to PCMCIA and CS */ | ||
313 | PCFR |= PCFR_OPDE; | ||
314 | } | ||
315 | |||
316 | #ifdef CONFIG_MACH_CORGI | 296 | #ifdef CONFIG_MACH_CORGI |
317 | MACHINE_START(CORGI, "SHARP Corgi") | 297 | MACHINE_START(CORGI, "SHARP Corgi") |
318 | .phys_ram = 0xa0000000, | 298 | .phys_ram = 0xa0000000, |
319 | .phys_io = 0x40000000, | 299 | .phys_io = 0x40000000, |
320 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 300 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
321 | .fixup = fixup_corgi, | 301 | .fixup = fixup_corgi, |
322 | .map_io = corgi_map_io, | 302 | .map_io = pxa_map_io, |
323 | .init_irq = corgi_init_irq, | 303 | .init_irq = pxa_init_irq, |
324 | .init_machine = corgi_init, | 304 | .init_machine = corgi_init, |
325 | .timer = &pxa_timer, | 305 | .timer = &pxa_timer, |
326 | MACHINE_END | 306 | MACHINE_END |
@@ -332,8 +312,8 @@ MACHINE_START(SHEPHERD, "SHARP Shepherd") | |||
332 | .phys_io = 0x40000000, | 312 | .phys_io = 0x40000000, |
333 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 313 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
334 | .fixup = fixup_corgi, | 314 | .fixup = fixup_corgi, |
335 | .map_io = corgi_map_io, | 315 | .map_io = pxa_map_io, |
336 | .init_irq = corgi_init_irq, | 316 | .init_irq = pxa_init_irq, |
337 | .init_machine = corgi_init, | 317 | .init_machine = corgi_init, |
338 | .timer = &pxa_timer, | 318 | .timer = &pxa_timer, |
339 | MACHINE_END | 319 | MACHINE_END |
@@ -345,8 +325,8 @@ MACHINE_START(HUSKY, "SHARP Husky") | |||
345 | .phys_io = 0x40000000, | 325 | .phys_io = 0x40000000, |
346 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 326 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
347 | .fixup = fixup_corgi, | 327 | .fixup = fixup_corgi, |
348 | .map_io = corgi_map_io, | 328 | .map_io = pxa_map_io, |
349 | .init_irq = corgi_init_irq, | 329 | .init_irq = pxa_init_irq, |
350 | .init_machine = corgi_init, | 330 | .init_machine = corgi_init, |
351 | .timer = &pxa_timer, | 331 | .timer = &pxa_timer, |
352 | MACHINE_END | 332 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/corgi_lcd.c b/arch/arm/mach-pxa/corgi_lcd.c index c5efcd04fcbc..850538fadece 100644 --- a/arch/arm/mach-pxa/corgi_lcd.c +++ b/arch/arm/mach-pxa/corgi_lcd.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
20 | #include <linux/device.h> | 20 | #include <linux/device.h> |
21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
22 | #include <asm/mach-types.h> | ||
23 | #include <asm/arch/akita.h> | 22 | #include <asm/arch/akita.h> |
24 | #include <asm/arch/corgi.h> | 23 | #include <asm/arch/corgi.h> |
25 | #include <asm/arch/hardware.h> | 24 | #include <asm/arch/hardware.h> |
@@ -468,6 +467,7 @@ void corgi_put_hsync(void) | |||
468 | { | 467 | { |
469 | if (get_hsync_time) | 468 | if (get_hsync_time) |
470 | symbol_put(w100fb_get_hsynclen); | 469 | symbol_put(w100fb_get_hsynclen); |
470 | get_hsync_time = NULL; | ||
471 | } | 471 | } |
472 | 472 | ||
473 | void corgi_wait_hsync(void) | 473 | void corgi_wait_hsync(void) |
@@ -477,20 +477,37 @@ void corgi_wait_hsync(void) | |||
477 | #endif | 477 | #endif |
478 | 478 | ||
479 | #ifdef CONFIG_PXA_SHARP_Cxx00 | 479 | #ifdef CONFIG_PXA_SHARP_Cxx00 |
480 | static struct device *spitz_pxafb_dev; | ||
481 | |||
482 | static int is_pxafb_device(struct device * dev, void * data) | ||
483 | { | ||
484 | struct platform_device *pdev = container_of(dev, struct platform_device, dev); | ||
485 | |||
486 | return (strncmp(pdev->name, "pxa2xx-fb", 9) == 0); | ||
487 | } | ||
488 | |||
480 | unsigned long spitz_get_hsync_len(void) | 489 | unsigned long spitz_get_hsync_len(void) |
481 | { | 490 | { |
491 | if (!spitz_pxafb_dev) { | ||
492 | spitz_pxafb_dev = bus_find_device(&platform_bus_type, NULL, NULL, is_pxafb_device); | ||
493 | if (!spitz_pxafb_dev) | ||
494 | return 0; | ||
495 | } | ||
482 | if (!get_hsync_time) | 496 | if (!get_hsync_time) |
483 | get_hsync_time = symbol_get(pxafb_get_hsync_time); | 497 | get_hsync_time = symbol_get(pxafb_get_hsync_time); |
484 | if (!get_hsync_time) | 498 | if (!get_hsync_time) |
485 | return 0; | 499 | return 0; |
486 | 500 | ||
487 | return pxafb_get_hsync_time(&pxafb_device.dev); | 501 | return pxafb_get_hsync_time(spitz_pxafb_dev); |
488 | } | 502 | } |
489 | 503 | ||
490 | void spitz_put_hsync(void) | 504 | void spitz_put_hsync(void) |
491 | { | 505 | { |
506 | put_device(spitz_pxafb_dev); | ||
492 | if (get_hsync_time) | 507 | if (get_hsync_time) |
493 | symbol_put(pxafb_get_hsync_time); | 508 | symbol_put(pxafb_get_hsync_time); |
509 | spitz_pxafb_dev = NULL; | ||
510 | get_hsync_time = NULL; | ||
494 | } | 511 | } |
495 | 512 | ||
496 | void spitz_wait_hsync(void) | 513 | void spitz_wait_hsync(void) |
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index a45aaa115a76..d327c127eddb 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <asm/arch/udc.h> | 34 | #include <asm/arch/udc.h> |
35 | #include <asm/arch/pxafb.h> | 35 | #include <asm/arch/pxafb.h> |
36 | #include <asm/arch/mmc.h> | 36 | #include <asm/arch/mmc.h> |
37 | #include <asm/arch/i2c.h> | ||
37 | 38 | ||
38 | #include "generic.h" | 39 | #include "generic.h" |
39 | 40 | ||
@@ -207,6 +208,11 @@ static struct platform_device pxafb_device = { | |||
207 | .resource = pxafb_resources, | 208 | .resource = pxafb_resources, |
208 | }; | 209 | }; |
209 | 210 | ||
211 | void __init set_pxa_fb_parent(struct device *parent_dev) | ||
212 | { | ||
213 | pxafb_device.dev.parent = parent_dev; | ||
214 | } | ||
215 | |||
210 | static struct platform_device ffuart_device = { | 216 | static struct platform_device ffuart_device = { |
211 | .name = "pxa2xx-uart", | 217 | .name = "pxa2xx-uart", |
212 | .id = 0, | 218 | .id = 0, |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index 47cfb8bb8318..f25638810017 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -30,6 +30,8 @@ | |||
30 | 30 | ||
31 | #include <asm/arch/pxa-regs.h> | 31 | #include <asm/arch/pxa-regs.h> |
32 | #include <asm/arch/irq.h> | 32 | #include <asm/arch/irq.h> |
33 | #include <asm/arch/mmc.h> | ||
34 | #include <asm/arch/udc.h> | ||
33 | #include <asm/arch/poodle.h> | 35 | #include <asm/arch/poodle.h> |
34 | #include <asm/arch/pxafb.h> | 36 | #include <asm/arch/pxafb.h> |
35 | 37 | ||
@@ -93,6 +95,83 @@ static struct platform_device locomo_device = { | |||
93 | .resource = locomo_resources, | 95 | .resource = locomo_resources, |
94 | }; | 96 | }; |
95 | 97 | ||
98 | |||
99 | /* | ||
100 | * MMC/SD Device | ||
101 | * | ||
102 | * The card detect interrupt isn't debounced so we delay it by 250ms | ||
103 | * to give the card a chance to fully insert/eject. | ||
104 | */ | ||
105 | static struct pxamci_platform_data poodle_mci_platform_data; | ||
106 | |||
107 | static int poodle_mci_init(struct device *dev, irqreturn_t (*poodle_detect_int)(int, void *, struct pt_regs *), void *data) | ||
108 | { | ||
109 | int err; | ||
110 | |||
111 | /* setup GPIO for PXA25x MMC controller */ | ||
112 | pxa_gpio_mode(GPIO6_MMCCLK_MD); | ||
113 | pxa_gpio_mode(GPIO8_MMCCS0_MD); | ||
114 | pxa_gpio_mode(POODLE_GPIO_nSD_DETECT | GPIO_IN); | ||
115 | pxa_gpio_mode(POODLE_GPIO_SD_PWR | GPIO_OUT); | ||
116 | |||
117 | poodle_mci_platform_data.detect_delay = msecs_to_jiffies(250); | ||
118 | |||
119 | err = request_irq(POODLE_IRQ_GPIO_nSD_DETECT, poodle_detect_int, SA_INTERRUPT, | ||
120 | "MMC card detect", data); | ||
121 | if (err) { | ||
122 | printk(KERN_ERR "poodle_mci_init: MMC/SD: can't request MMC card detect IRQ\n"); | ||
123 | return -1; | ||
124 | } | ||
125 | |||
126 | set_irq_type(POODLE_IRQ_GPIO_nSD_DETECT, IRQT_BOTHEDGE); | ||
127 | |||
128 | return 0; | ||
129 | } | ||
130 | |||
131 | static void poodle_mci_setpower(struct device *dev, unsigned int vdd) | ||
132 | { | ||
133 | struct pxamci_platform_data* p_d = dev->platform_data; | ||
134 | |||
135 | if (( 1 << vdd) & p_d->ocr_mask) | ||
136 | GPSR1 = GPIO_bit(POODLE_GPIO_SD_PWR); | ||
137 | else | ||
138 | GPCR1 = GPIO_bit(POODLE_GPIO_SD_PWR); | ||
139 | } | ||
140 | |||
141 | static void poodle_mci_exit(struct device *dev, void *data) | ||
142 | { | ||
143 | free_irq(POODLE_IRQ_GPIO_nSD_DETECT, data); | ||
144 | } | ||
145 | |||
146 | static struct pxamci_platform_data poodle_mci_platform_data = { | ||
147 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, | ||
148 | .init = poodle_mci_init, | ||
149 | .setpower = poodle_mci_setpower, | ||
150 | .exit = poodle_mci_exit, | ||
151 | }; | ||
152 | |||
153 | |||
154 | /* | ||
155 | * USB Device Controller | ||
156 | */ | ||
157 | static void poodle_udc_command(int cmd) | ||
158 | { | ||
159 | switch(cmd) { | ||
160 | case PXA2XX_UDC_CMD_CONNECT: | ||
161 | GPSR(POODLE_GPIO_USB_PULLUP) = GPIO_bit(POODLE_GPIO_USB_PULLUP); | ||
162 | break; | ||
163 | case PXA2XX_UDC_CMD_DISCONNECT: | ||
164 | GPCR(POODLE_GPIO_USB_PULLUP) = GPIO_bit(POODLE_GPIO_USB_PULLUP); | ||
165 | break; | ||
166 | } | ||
167 | } | ||
168 | |||
169 | static struct pxa2xx_udc_mach_info udc_info __initdata = { | ||
170 | /* no connect GPIO; poodle can't tell connection status */ | ||
171 | .udc_command = poodle_udc_command, | ||
172 | }; | ||
173 | |||
174 | |||
96 | /* PXAFB device */ | 175 | /* PXAFB device */ |
97 | static struct pxafb_mach_info poodle_fb_info __initdata = { | 176 | static struct pxafb_mach_info poodle_fb_info __initdata = { |
98 | .pixclock = 144700, | 177 | .pixclock = 144700, |
@@ -126,6 +205,15 @@ static void __init poodle_init(void) | |||
126 | { | 205 | { |
127 | int ret = 0; | 206 | int ret = 0; |
128 | 207 | ||
208 | /* setup sleep mode values */ | ||
209 | PWER = 0x00000002; | ||
210 | PFER = 0x00000000; | ||
211 | PRER = 0x00000002; | ||
212 | PGSR0 = 0x00008000; | ||
213 | PGSR1 = 0x003F0202; | ||
214 | PGSR2 = 0x0001C000; | ||
215 | PCFR |= PCFR_OPDE; | ||
216 | |||
129 | /* cpu initialize */ | 217 | /* cpu initialize */ |
130 | /* Pgsr Register */ | 218 | /* Pgsr Register */ |
131 | PGSR0 = 0x0146dd80; | 219 | PGSR0 = 0x0146dd80; |
@@ -155,6 +243,9 @@ static void __init poodle_init(void) | |||
155 | GPSR2 = 0x00000000; | 243 | GPSR2 = 0x00000000; |
156 | 244 | ||
157 | set_pxa_fb_info(&poodle_fb_info); | 245 | set_pxa_fb_info(&poodle_fb_info); |
246 | pxa_gpio_mode(POODLE_GPIO_USB_PULLUP | GPIO_OUT); | ||
247 | pxa_set_udc_info(&udc_info); | ||
248 | pxa_set_mci_info(&poodle_mci_platform_data); | ||
158 | 249 | ||
159 | scoop_num = 1; | 250 | scoop_num = 1; |
160 | scoop_devs = &poodle_pcmcia_scoop[0]; | 251 | scoop_devs = &poodle_pcmcia_scoop[0]; |
@@ -171,32 +262,12 @@ static void __init fixup_poodle(struct machine_desc *desc, | |||
171 | sharpsl_save_param(); | 262 | sharpsl_save_param(); |
172 | } | 263 | } |
173 | 264 | ||
174 | static struct map_desc poodle_io_desc[] __initdata = { | ||
175 | /* virtual physical length */ | ||
176 | { 0xef800000, 0x00000000, 0x00800000, MT_DEVICE }, /* Boot Flash */ | ||
177 | }; | ||
178 | |||
179 | static void __init poodle_map_io(void) | ||
180 | { | ||
181 | pxa_map_io(); | ||
182 | iotable_init(poodle_io_desc, ARRAY_SIZE(poodle_io_desc)); | ||
183 | |||
184 | /* setup sleep mode values */ | ||
185 | PWER = 0x00000002; | ||
186 | PFER = 0x00000000; | ||
187 | PRER = 0x00000002; | ||
188 | PGSR0 = 0x00008000; | ||
189 | PGSR1 = 0x003F0202; | ||
190 | PGSR2 = 0x0001C000; | ||
191 | PCFR |= PCFR_OPDE; | ||
192 | } | ||
193 | |||
194 | MACHINE_START(POODLE, "SHARP Poodle") | 265 | MACHINE_START(POODLE, "SHARP Poodle") |
195 | .phys_ram = 0xa0000000, | 266 | .phys_ram = 0xa0000000, |
196 | .phys_io = 0x40000000, | 267 | .phys_io = 0x40000000, |
197 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 268 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
198 | .fixup = fixup_poodle, | 269 | .fixup = fixup_poodle, |
199 | .map_io = poodle_map_io, | 270 | .map_io = pxa_map_io, |
200 | .init_irq = pxa_init_irq, | 271 | .init_irq = pxa_init_irq, |
201 | .timer = &pxa_timer, | 272 | .timer = &pxa_timer, |
202 | .init_machine = poodle_init, | 273 | .init_machine = poodle_init, |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 568afe3d6e1a..d0ab428c2d7d 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <asm/arch/irq.h> | 36 | #include <asm/arch/irq.h> |
37 | #include <asm/arch/mmc.h> | 37 | #include <asm/arch/mmc.h> |
38 | #include <asm/arch/udc.h> | 38 | #include <asm/arch/udc.h> |
39 | #include <asm/arch/ohci.h> | ||
40 | #include <asm/arch/pxafb.h> | 39 | #include <asm/arch/pxafb.h> |
41 | #include <asm/arch/akita.h> | 40 | #include <asm/arch/akita.h> |
42 | #include <asm/arch/spitz.h> | 41 | #include <asm/arch/spitz.h> |
@@ -304,7 +303,6 @@ static struct platform_device *devices[] __initdata = { | |||
304 | &spitzkbd_device, | 303 | &spitzkbd_device, |
305 | &spitzts_device, | 304 | &spitzts_device, |
306 | &spitzbl_device, | 305 | &spitzbl_device, |
307 | &spitzbattery_device, | ||
308 | }; | 306 | }; |
309 | 307 | ||
310 | static void __init common_init(void) | 308 | static void __init common_init(void) |
@@ -328,7 +326,7 @@ static void __init common_init(void) | |||
328 | 326 | ||
329 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 327 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
330 | pxa_set_mci_info(&spitz_mci_platform_data); | 328 | pxa_set_mci_info(&spitz_mci_platform_data); |
331 | pxafb_device.dev.parent = &spitzssp_device.dev; | 329 | set_pxa_fb_parent(&spitzssp_device.dev); |
332 | set_pxa_fb_info(&spitz_pxafb_info); | 330 | set_pxa_fb_info(&spitz_pxafb_info); |
333 | } | 331 | } |
334 | 332 | ||