diff options
author | Olof Johansson <olof@lixom.net> | 2012-05-09 02:27:52 -0700 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-05-09 02:27:52 -0700 |
commit | 0189a028b603b2191bd796bbdb4cc7fd57d7315d (patch) | |
tree | 9c25e92497f14fc261fd9fc245d9af04ab0a457c /arch/arm/mach-omap2/timer.c | |
parent | 0f8b7137dbf651a0a048c70f3a83a76bca02e18a (diff) | |
parent | 1df82cd6d7673006ae2ecbe8745bcf44f61c53a8 (diff) |
Merge tag 'omap-devel-hwmod-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/pm
Add most of remaining hwmods for omap4
By Paul Walmsley (37) and others
via Tony Lindgren (2) and Paul Walmsley (1)
* tag 'omap-devel-hwmod-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (44 commits)
ARM: OMAP4: hwmod data: add DEBUGSS skeleton
ARM: OMAP4: hwmod data: add PRCM and related IP blocks
ARM: OMAP4: hwmod data: add System Control Module
ARM: OMAP4: hwmod data: add the OCP-WP IP block
ARM: OMAP4: hwmod data: add OCM RAM IP block
ARM: OMAP4: hwmod data: add remaining USB-related IP blocks
ARM: OMAP4: hwmod data: add some interconnect-related IP blocks
ARM: OMAP4: hwmod data: add McASP
ARM: OMAP4: hwmod data: add the Slimbus IP blocks
ARM: OMAP4: hwmod data: add GPU
ARM: OMAP4: hwmod data: add EMIF1 and 2
ARM: OMAP4: hwmod data: add GPMC
ARM: OMAP4: hwmod data: add HDQ/1-wire
ARM: OMAP4: hwmod data: introduce fdif(face detect module) hwmod
ARM: OMAP2+: clockdomains: make {prm,cm}_clkdm common
ARM: OMAP2xxx: hwmod data: start to fix the IVA1, IVA2 and DSP
ARM: OMAP3: hwmod data: add IVA hard reset lines, main clock, clockdomain
ARM: OMAP3: hwmod data: fix IVA interface clock
ARM: OMAP2xxx: hwmod data: share common interface data
ARM: OMAP2xxx: hwmod data: share common hwmods between OMAP2420 and OMAP2430
...
Diffstat (limited to 'arch/arm/mach-omap2/timer.c')
-rw-r--r-- | arch/arm/mach-omap2/timer.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index c512bac69ec..ecec873e78c 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c @@ -145,8 +145,10 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer, { char name[10]; /* 10 = sizeof("gptXX_Xck0") */ struct omap_hwmod *oh; + struct resource irq_rsrc, mem_rsrc; size_t size; int res = 0; + int r; sprintf(name, "timer%d", gptimer_id); omap_hwmod_setup_one(name); @@ -154,9 +156,16 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer, if (!oh) return -ENODEV; - timer->irq = oh->mpu_irqs[0].irq; - timer->phys_base = oh->slaves[0]->addr->pa_start; - size = oh->slaves[0]->addr->pa_end - timer->phys_base; + r = omap_hwmod_get_resource_byname(oh, IORESOURCE_IRQ, NULL, &irq_rsrc); + if (r) + return -ENXIO; + timer->irq = irq_rsrc.start; + + r = omap_hwmod_get_resource_byname(oh, IORESOURCE_MEM, NULL, &mem_rsrc); + if (r) + return -ENXIO; + timer->phys_base = mem_rsrc.start; + size = mem_rsrc.end - mem_rsrc.start; /* Static mapping, never released */ timer->io_base = ioremap(timer->phys_base, size); |