aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-netx/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-netx/time.c')
-rw-r--r--arch/arm/mach-netx/time.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/arm/mach-netx/time.c b/arch/arm/mach-netx/time.c
index 311f4beed6a2..8baa83deb206 100644
--- a/arch/arm/mach-netx/time.c
+++ b/arch/arm/mach-netx/time.c
@@ -35,13 +35,10 @@ static int netx_set_mode(enum clock_event_mode mode,
struct clock_event_device *clk)
{
u32 tmode;
- int ret = 0;
-
- /* disable timer */
- writel(0, NETX_GPIO_COUNTER_CTRL(TIMER_CLOCKEVENT));
switch (mode) {
case CLOCK_EVT_MODE_PERIODIC:
+ writel(0, NETX_GPIO_COUNTER_CTRL(TIMER_CLOCKEVENT));
writel(LATCH, NETX_GPIO_COUNTER_MAX(TIMER_CLOCKEVENT));
tmode = NETX_GPIO_COUNTER_CTRL_RST_EN |
NETX_GPIO_COUNTER_CTRL_IRQ_EN |
@@ -49,24 +46,24 @@ static int netx_set_mode(enum clock_event_mode mode,
break;
case CLOCK_EVT_MODE_ONESHOT:
+ writel(0, NETX_GPIO_COUNTER_CTRL(TIMER_CLOCKEVENT));
writel(0, NETX_GPIO_COUNTER_MAX(TIMER_CLOCKEVENT));
tmode = NETX_GPIO_COUNTER_CTRL_IRQ_EN |
NETX_GPIO_COUNTER_CTRL_RUN;
break;
- default:
- ret = -ENOSYS;
- /* fall through */
case CLOCK_EVT_MODE_SHUTDOWN:
case CLOCK_EVT_MODE_UNUSED:
case CLOCK_EVT_MODE_RESUME:
case CLOCK_EVT_MODE_ONESHOT_STOPPED:
tmode = 0;
break;
+ default:
+ return -ENOSYS;
}
writel(tmode, NETX_GPIO_COUNTER_CTRL(TIMER_CLOCKEVENT));
- return ret;
+ return 0;
}
static int netx_set_next_event(unsigned long evt,