diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-pxa/devices.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/generic.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa3xx.c | 4 |
5 files changed, 19 insertions, 18 deletions
diff --git a/arch/arm/mach-pxa/devices.h b/arch/arm/mach-pxa/devices.h index 94c8d5cdd60a..51162a7dba07 100644 --- a/arch/arm/mach-pxa/devices.h +++ b/arch/arm/mach-pxa/devices.h | |||
@@ -12,3 +12,5 @@ extern struct platform_device pxa_device_rtc; | |||
12 | 12 | ||
13 | extern struct platform_device pxa27x_device_i2c_power; | 13 | extern struct platform_device pxa27x_device_i2c_power; |
14 | extern struct platform_device pxa27x_device_ohci; | 14 | extern struct platform_device pxa27x_device_ohci; |
15 | |||
16 | void __init pxa_register_device(struct platform_device *dev, void *data); | ||
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 1c34946ee16e..3d863c919e8b 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c | |||
@@ -235,6 +235,18 @@ void __init pxa_map_io(void) | |||
235 | } | 235 | } |
236 | 236 | ||
237 | 237 | ||
238 | void __init pxa_register_device(struct platform_device *dev, void *data) | ||
239 | { | ||
240 | int ret; | ||
241 | |||
242 | dev->dev.platform_data = data; | ||
243 | |||
244 | ret = platform_device_register(dev); | ||
245 | if (ret) | ||
246 | dev_err(&dev->dev, "unable to register device: %d\n", ret); | ||
247 | } | ||
248 | |||
249 | |||
238 | static struct resource pxamci_resources[] = { | 250 | static struct resource pxamci_resources[] = { |
239 | [0] = { | 251 | [0] = { |
240 | .start = 0x41100000, | 252 | .start = 0x41100000, |
@@ -263,7 +275,7 @@ struct platform_device pxa_device_mci = { | |||
263 | 275 | ||
264 | void __init pxa_set_mci_info(struct pxamci_platform_data *info) | 276 | void __init pxa_set_mci_info(struct pxamci_platform_data *info) |
265 | { | 277 | { |
266 | pxa_device_mci.dev.platform_data = info; | 278 | pxa_register_device(&pxa_device_mci, info); |
267 | } | 279 | } |
268 | 280 | ||
269 | 281 | ||
@@ -328,7 +340,7 @@ struct platform_device pxa_device_fb = { | |||
328 | 340 | ||
329 | void __init set_pxa_fb_info(struct pxafb_mach_info *info) | 341 | void __init set_pxa_fb_info(struct pxafb_mach_info *info) |
330 | { | 342 | { |
331 | pxa_device_fb.dev.platform_data = info; | 343 | pxa_register_device(&pxa_device_fb, info); |
332 | } | 344 | } |
333 | 345 | ||
334 | void __init set_pxa_fb_parent(struct device *parent_dev) | 346 | void __init set_pxa_fb_parent(struct device *parent_dev) |
@@ -433,7 +445,7 @@ struct platform_device pxa_device_i2c = { | |||
433 | 445 | ||
434 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) | 446 | void __init pxa_set_i2c_info(struct i2c_pxa_platform_data *info) |
435 | { | 447 | { |
436 | pxa_device_i2c.dev.platform_data = info; | 448 | pxa_register_device(&pxa_device_i2c, info); |
437 | } | 449 | } |
438 | 450 | ||
439 | static struct resource pxai2s_resources[] = { | 451 | static struct resource pxai2s_resources[] = { |
@@ -468,7 +480,7 @@ struct platform_device pxa_device_ficp = { | |||
468 | 480 | ||
469 | void __init pxa_set_ficp_info(struct pxaficp_platform_data *info) | 481 | void __init pxa_set_ficp_info(struct pxaficp_platform_data *info) |
470 | { | 482 | { |
471 | pxa_device_ficp.dev.platform_data = info; | 483 | pxa_register_device(&pxa_device_ficp, info); |
472 | } | 484 | } |
473 | 485 | ||
474 | struct platform_device pxa_device_rtc = { | 486 | struct platform_device pxa_device_rtc = { |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 9732d5d9466b..d9ee0d9b36df 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -287,15 +287,11 @@ void __init pxa25x_init_irq(void) | |||
287 | } | 287 | } |
288 | 288 | ||
289 | static struct platform_device *pxa25x_devices[] __initdata = { | 289 | static struct platform_device *pxa25x_devices[] __initdata = { |
290 | &pxa_device_mci, | ||
291 | &pxa_device_udc, | 290 | &pxa_device_udc, |
292 | &pxa_device_fb, | ||
293 | &pxa_device_ffuart, | 291 | &pxa_device_ffuart, |
294 | &pxa_device_btuart, | 292 | &pxa_device_btuart, |
295 | &pxa_device_stuart, | 293 | &pxa_device_stuart, |
296 | &pxa_device_i2c, | ||
297 | &pxa_device_i2s, | 294 | &pxa_device_i2s, |
298 | &pxa_device_ficp, | ||
299 | &pxa_device_rtc, | 295 | &pxa_device_rtc, |
300 | }; | 296 | }; |
301 | 297 | ||
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 8e126e6b74c3..e7151dba6682 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -401,7 +401,7 @@ struct platform_device pxa27x_device_ohci = { | |||
401 | 401 | ||
402 | void __init pxa_set_ohci_info(struct pxaohci_platform_data *info) | 402 | void __init pxa_set_ohci_info(struct pxaohci_platform_data *info) |
403 | { | 403 | { |
404 | pxa27x_device_ohci.dev.platform_data = info; | 404 | pxa_register_device(&pxa27x_device_ohci, info); |
405 | } | 405 | } |
406 | 406 | ||
407 | static struct resource i2c_power_resources[] = { | 407 | static struct resource i2c_power_resources[] = { |
@@ -424,18 +424,13 @@ struct platform_device pxa27x_device_i2c_power = { | |||
424 | }; | 424 | }; |
425 | 425 | ||
426 | static struct platform_device *devices[] __initdata = { | 426 | static struct platform_device *devices[] __initdata = { |
427 | &pxa_device_mci, | ||
428 | &pxa_device_udc, | 427 | &pxa_device_udc, |
429 | &pxa_device_fb, | ||
430 | &pxa_device_ffuart, | 428 | &pxa_device_ffuart, |
431 | &pxa_device_btuart, | 429 | &pxa_device_btuart, |
432 | &pxa_device_stuart, | 430 | &pxa_device_stuart, |
433 | &pxa_device_i2c, | ||
434 | &pxa_device_i2s, | 431 | &pxa_device_i2s, |
435 | &pxa_device_ficp, | ||
436 | &pxa_device_rtc, | 432 | &pxa_device_rtc, |
437 | &pxa27x_device_i2c_power, | 433 | &pxa27x_device_i2c_power, |
438 | &pxa27x_device_ohci, | ||
439 | }; | 434 | }; |
440 | 435 | ||
441 | static int __init pxa27x_init(void) | 436 | static int __init pxa27x_init(void) |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 61d9c9d69e6b..37fbc4face09 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -209,15 +209,11 @@ void __init pxa3xx_init_irq(void) | |||
209 | */ | 209 | */ |
210 | 210 | ||
211 | static struct platform_device *devices[] __initdata = { | 211 | static struct platform_device *devices[] __initdata = { |
212 | &pxa_device_mci, | ||
213 | &pxa_device_udc, | 212 | &pxa_device_udc, |
214 | &pxa_device_fb, | ||
215 | &pxa_device_ffuart, | 213 | &pxa_device_ffuart, |
216 | &pxa_device_btuart, | 214 | &pxa_device_btuart, |
217 | &pxa_device_stuart, | 215 | &pxa_device_stuart, |
218 | &pxa_device_i2c, | ||
219 | &pxa_device_i2s, | 216 | &pxa_device_i2s, |
220 | &pxa_device_ficp, | ||
221 | &pxa_device_rtc, | 217 | &pxa_device_rtc, |
222 | }; | 218 | }; |
223 | 219 | ||