ARM: fix regression in IXP4xx clocksource
Commit 234b6ceddb
clocksource: convert ARM 32-bit up counting clocksources
broke the build for ixp4xx and made big endian operation impossible.
This commit restores the original behaviour.
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
[ Thomas says that we might want to have generic BE accessor functions
to the MMIO clock source, but that hasn't happened yet, so in the
meantime this seems to be the short-term fix for the particular
problem - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
af8a927c8b
commit
900b170af4
|
@ -419,14 +419,20 @@ static void notrace ixp4xx_update_sched_clock(void)
|
||||||
/*
|
/*
|
||||||
* clocksource
|
* clocksource
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static cycle_t ixp4xx_clocksource_read(struct clocksource *c)
|
||||||
|
{
|
||||||
|
return *IXP4XX_OSTS;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned long ixp4xx_timer_freq = IXP4XX_TIMER_FREQ;
|
unsigned long ixp4xx_timer_freq = IXP4XX_TIMER_FREQ;
|
||||||
EXPORT_SYMBOL(ixp4xx_timer_freq);
|
EXPORT_SYMBOL(ixp4xx_timer_freq);
|
||||||
static void __init ixp4xx_clocksource_init(void)
|
static void __init ixp4xx_clocksource_init(void)
|
||||||
{
|
{
|
||||||
init_sched_clock(&cd, ixp4xx_update_sched_clock, 32, ixp4xx_timer_freq);
|
init_sched_clock(&cd, ixp4xx_update_sched_clock, 32, ixp4xx_timer_freq);
|
||||||
|
|
||||||
clocksource_mmio_init(&IXP4XX_OSTS, "OSTS", ixp4xx_timer_freq, 200, 32,
|
clocksource_mmio_init(NULL, "OSTS", ixp4xx_timer_freq, 200, 32,
|
||||||
clocksource_mmio_readl_up);
|
ixp4xx_clocksource_read);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue