Commit 1f058d52 authored by Daniel Lezcano's avatar Daniel Lezcano

clocksource/drivers/h8300_timer8: Remove PERIODIC and ONESHOT macro

Specify the delta as parameter for the timer8_clock_event_start function
instead of using a macro to tell PERIODIC or ONESHOT.
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
parent 7116ae43
...@@ -28,9 +28,6 @@ ...@@ -28,9 +28,6 @@
#define FLAG_IRQCONTEXT (1 << 2) #define FLAG_IRQCONTEXT (1 << 2)
#define FLAG_STARTED (1 << 3) #define FLAG_STARTED (1 << 3)
#define ONESHOT 0
#define PERIODIC 1
#define SCALE 64 #define SCALE 64
struct timer8_priv { struct timer8_priv {
...@@ -147,7 +144,7 @@ static inline struct timer8_priv *ced_to_priv(struct clock_event_device *ced) ...@@ -147,7 +144,7 @@ static inline struct timer8_priv *ced_to_priv(struct clock_event_device *ced)
return container_of(ced, struct timer8_priv, ced); return container_of(ced, struct timer8_priv, ced);
} }
static void timer8_clock_event_start(struct timer8_priv *p, int periodic) static void timer8_clock_event_start(struct timer8_priv *p, unsigned long delta)
{ {
struct clock_event_device *ced = &p->ced; struct clock_event_device *ced = &p->ced;
...@@ -158,7 +155,7 @@ static void timer8_clock_event_start(struct timer8_priv *p, int periodic) ...@@ -158,7 +155,7 @@ static void timer8_clock_event_start(struct timer8_priv *p, int periodic)
ced->max_delta_ns = clockevent_delta2ns(0xffff, ced); ced->max_delta_ns = clockevent_delta2ns(0xffff, ced);
ced->min_delta_ns = clockevent_delta2ns(0x0001, ced); ced->min_delta_ns = clockevent_delta2ns(0x0001, ced);
timer8_set_next(p, periodic?(p->rate + HZ/2) / HZ:0x10000); timer8_set_next(p, delta);
} }
static int timer8_clock_event_shutdown(struct clock_event_device *ced) static int timer8_clock_event_shutdown(struct clock_event_device *ced)
...@@ -173,7 +170,7 @@ static int timer8_clock_event_periodic(struct clock_event_device *ced) ...@@ -173,7 +170,7 @@ static int timer8_clock_event_periodic(struct clock_event_device *ced)
pr_info("%s: used for periodic clock events\n", ced->name); pr_info("%s: used for periodic clock events\n", ced->name);
timer8_stop(p); timer8_stop(p);
timer8_clock_event_start(p, PERIODIC); timer8_clock_event_start(p, (p->rate + HZ/2) / HZ);
return 0; return 0;
} }
...@@ -184,7 +181,7 @@ static int timer8_clock_event_oneshot(struct clock_event_device *ced) ...@@ -184,7 +181,7 @@ static int timer8_clock_event_oneshot(struct clock_event_device *ced)
pr_info("%s: used for oneshot clock events\n", ced->name); pr_info("%s: used for oneshot clock events\n", ced->name);
timer8_stop(p); timer8_stop(p);
timer8_clock_event_start(p, ONESHOT); timer8_clock_event_start(p, 0x10000);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment