aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2012-09-23 19:28:27 -0400
committerPaul Walmsley <paul@pwsan.com>2012-09-23 19:28:27 -0400
commit4848d460a7d4b2b5b22afda16b713cb753affa12 (patch)
tree81c62d710d73123a59a9b383964ba4fff7e65953 /arch/arm/mach-omap1
parent665d92fa85b5cb4c0a3f36524ac6cc8f9e3d9c2d (diff)
ARM: OMAP: split OMAP1, OMAP2+ RNG device registration
Move the OMAP1-specific RNG device creation off to mach-omap1/devices.c, and create a omap_device-backed registration function for OMAP2+ devices in mach-omap2/devices.c. As a nice side-benefit, we can also get rid of arch/arm/plat-omap/devices.c, thanks to some recent changes from Tony. One change from the previous behavior is that the RNG devices are now registered unconditionally. This should allow the RNG drivers to be loaded as modules, even if the original kernel was not built that way. Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap1')
-rw-r--r--arch/arm/mach-omap1/devices.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/devices.c b/arch/arm/mach-omap1/devices.c
index 05fdbd992c77..23a0b116b078 100644
--- a/arch/arm/mach-omap1/devices.c
+++ b/arch/arm/mach-omap1/devices.c
@@ -357,6 +357,30 @@ static inline void omap_init_uwire(void) {}
357#endif 357#endif
358 358
359 359
360#define OMAP1_RNG_BASE 0xfffe5000
361
362static struct resource omap1_rng_resources[] = {
363 {
364 .start = OMAP1_RNG_BASE,
365 .end = OMAP1_RNG_BASE + 0x4f,
366 .flags = IORESOURCE_MEM,
367 },
368};
369
370static struct platform_device omap1_rng_device = {
371 .name = "omap_rng",
372 .id = -1,
373 .num_resources = ARRAY_SIZE(omap1_rng_resources),
374 .resource = omap1_rng_resources,
375};
376
377static void omap1_init_rng(void)
378{
379 (void) platform_device_register(&omap1_rng_device);
380}
381
382/*-------------------------------------------------------------------------*/
383
360/* 384/*
361 * This gets called after board-specific INIT_MACHINE, and initializes most 385 * This gets called after board-specific INIT_MACHINE, and initializes most
362 * on-chip peripherals accessible on this board (except for few like USB): 386 * on-chip peripherals accessible on this board (except for few like USB):
@@ -395,6 +419,7 @@ static int __init omap1_init_devices(void)
395 omap_init_spi100k(); 419 omap_init_spi100k();
396 omap_init_sti(); 420 omap_init_sti();
397 omap_init_uwire(); 421 omap_init_uwire();
422 omap1_init_rng();
398 423
399 return 0; 424 return 0;
400} 425}