Thread (22 messages) 22 messages, 5 authors, 2015-12-23

Re: [PATCH v1 02/10] clockevents/drivers: add MPS2 Timer driver

From: Vladimir Murzin <hidden>
Date: 2015-12-15 12:48:07
Also in: linux-api, linux-arm-kernel, linux-devicetree, lkml

On 14/12/15 13:36, Daniel Lezcano wrote:
On 12/02/2015 10:33 AM, Vladimir Murzin wrote:
quoted
MPS2 platform has simple 32 bits general purpose countdown timers.

The driver uses the first detected timer as a clocksource and the rest
of the timers as a clockevent

Signed-off-by: Vladimir Murzin <redacted>
---
[ ... ]
quoted
+static void clockevent_mps2_writel(u32 val, struct clock_event_device
*c, u32 offset)
+{
+    writel(val, to_mps2_clkevt(c)->reg + offset);
+}
Is it possible to use writel_relaxed here ?
I think it is possible. I'll update that part.
[ ... ]
quoted
+static int mps2_timer_set_periodic(struct clock_event_device *ce)
+{
+    u32 clock_count_per_tick = to_mps2_clkevt(ce)->clock_count_per_tick;
+
+    clockevent_mps2_writel(clock_count_per_tick, ce, TIMER_RELOAD);
+    clockevent_mps2_writel(clock_count_per_tick, ce, TIMER_VALUE);
+    clockevent_mps2_writel(TIMER_CTRL_IE | TIMER_CTRL_ENABLE, ce,
TIMER_CTRL);
+
+    return 0;
+}
+
+static irqreturn_t mps2_timer_interrupt(int irq, void *dev_id)
+{
+    struct clockevent_mps2 *ce = dev_id;
+    u32 status = readl(ce->reg + TIMER_INT);
+
+    if (!status) {
+        pr_warn("spuirous interrupt\n");
typo: 'spurious'

[ ... ]
quoted
+    ce = kzalloc(sizeof(struct clockevent_mps2), GFP_KERNEL);
+    if (!ce) {
+        ret = -ENOMEM;
+        pr_err("failed to allocate clockevent: %d\n", ret);
There is already a stack trace in the kernel when an allocation fails.

With the above fixed:

Acked-by: Daniel Lezcano <redacted>
All above fixed locally.

Thanks
Vladimir


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help