clocksource/drivers/timer-of: Store the device node pointer in 'struct timer_of'
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 8 Jan 2018 13:28:48 +0000 (14:28 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 8 Jan 2018 16:57:24 +0000 (17:57 +0100)
Under certain circumstances, some specific operations must be done with the
device node pointer, which forces the timer code to propagate the pointer to
the functions which need it.

In order to consolidate the function signatures in the different drivers
by using the timer-of structure, let's store it in the timer-of structure
as a handy pointer when it is needed.

Tested-by: Benjamin Gaignard <benjamin.gaignard@st.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Benjamin Gaignard <benjamin.gaignard@st.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1515418139-23276-9-git-send-email-daniel.lezcano@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
drivers/clocksource/timer-of.c
drivers/clocksource/timer-of.h

index c1045b9..25008d2 100644 (file)
@@ -200,6 +200,9 @@ int __init timer_of_init(struct device_node *np, struct timer_of *to)
 
        if (!to->clkevt.name)
                to->clkevt.name = np->name;
+
+       to->np = np;
+
        return ret;
 
 out_fail:
index 3f708f1..a5478f3 100644 (file)
@@ -33,6 +33,7 @@ struct of_timer_clk {
 
 struct timer_of {
        unsigned int flags;
+       struct device_node *np;
        struct clock_event_device clkevt;
        struct of_timer_base of_base;
        struct of_timer_irq  of_irq;