diff options
Diffstat (limited to 'arch/arm/mach-omap2/timer.c')
-rw-r--r-- | arch/arm/mach-omap2/timer.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index b2829ee0c4e4..9c2f58895a16 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
@@ -478,3 +478,23 @@ static int __init omap_timer_init(struct omap_hwmod *oh, void *unused) | |||
478 | 478 | ||
479 | return ret; | 479 | return ret; |
480 | } | 480 | } |
481 | |||
482 | /** | ||
483 | * omap2_dm_timer_init - top level regular device initialization | ||
484 | * | ||
485 | * Uses dedicated hwmod api to parse through hwmod database for | ||
486 | * given class name and then build and register the timer device. | ||
487 | */ | ||
488 | static int __init omap2_dm_timer_init(void) | ||
489 | { | ||
490 | int ret; | ||
491 | |||
492 | ret = omap_hwmod_for_each_by_class("timer", omap_timer_init, NULL); | ||
493 | if (unlikely(ret)) { | ||
494 | pr_err("%s: device registration failed.\n", __func__); | ||
495 | return -EINVAL; | ||
496 | } | ||
497 | |||
498 | return 0; | ||
499 | } | ||
500 | arch_initcall(omap2_dm_timer_init); | ||