Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 272684
b: refs/heads/master
c: b1e3be0
h: refs/heads/master
v: v3
  • Loading branch information
Linus Walleij committed Oct 3, 2011
1 parent e6a7f87 commit fbb53c0
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bb219dba0d1e46324ea462ba42f6fd8e9b7471de
refs/heads/master: b1e3be0647fec81887e55edbda0c56c0445f7b53
9 changes: 6 additions & 3 deletions trunk/arch/arm/mach-ux500/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
* Author: Mattias Wallin <mattias.wallin@stericsson.com> for ST-Ericsson
*/
#include <linux/io.h>
#include <linux/errno.h>
#include <linux/clksrc-dbx500-prcmu.h>

#include <asm/localtimer.h>
Expand All @@ -16,18 +17,20 @@

static void __init ux500_timer_init(void)
{
void __iomem *prcmu_timer_base;

if (cpu_is_u5500()) {
#ifdef CONFIG_LOCAL_TIMERS
twd_base = __io_address(U5500_TWD_BASE);
#endif
mtu_base = __io_address(U5500_MTU0_BASE);
clksrc_dbx500_timer_base = __io_address(U5500_PRCMU_TIMER_3_BASE);
prcmu_timer_base = __io_address(U5500_PRCMU_TIMER_3_BASE);
} else if (cpu_is_u8500()) {
#ifdef CONFIG_LOCAL_TIMERS
twd_base = __io_address(U8500_TWD_BASE);
#endif
mtu_base = __io_address(U8500_MTU0_BASE);
clksrc_dbx500_timer_base = __io_address(U8500_PRCMU_TIMER_4_BASE);
prcmu_timer_base = __io_address(U8500_PRCMU_TIMER_4_BASE);
} else {
ux500_unknown_soc();
}
Expand All @@ -50,7 +53,7 @@ static void __init ux500_timer_init(void)
*/

nmdk_timer_init();
clksrc_dbx500_prcmu_init();
clksrc_dbx500_prcmu_init(prcmu_timer_base);
}

static void ux500_timer_reset(void)
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/clocksource/clksrc-dbx500-prcmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

#define SCHED_CLOCK_MIN_WRAP 131072 /* 2^32 / 32768 */

void __iomem *clksrc_dbx500_timer_base;
static void __iomem *clksrc_dbx500_timer_base;

static cycle_t clksrc_dbx500_prcmu_read(struct clocksource *cs)
{
Expand Down Expand Up @@ -79,8 +79,10 @@ static void notrace clksrc_dbx500_prcmu_update_sched_clock(void)
}
#endif

void __init clksrc_dbx500_prcmu_init(void)
void __init clksrc_dbx500_prcmu_init(void __iomem *base)
{
clksrc_dbx500_timer_base = base;

/*
* The A9 sub system expects the timer to be configured as
* a continous looping timer.
Expand Down
6 changes: 2 additions & 4 deletions trunk/include/linux/clksrc-dbx500-prcmu.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,10 @@
#include <linux/init.h>
#include <linux/io.h>

extern void __iomem *clksrc_dbx500_timer_base;

#ifdef CONFIG_CLKSRC_DBX500_PRCMU
void __init clksrc_dbx500_prcmu_init(void);
void __init clksrc_dbx500_prcmu_init(void __iomem *base);
#else
void __init clksrc_dbx500_prcmu_init(void) {}
static inline void __init clksrc_dbx500_prcmu_init(void __iomem *base) {}
#endif

#endif

0 comments on commit fbb53c0

Please sign in to comment.