Currently all OSTM devices are called "ostm", also in kernel messages.

As there can be multiple instances in an SoC, this can confuse the user.
Hence construct a unique name from the DT node name, like is done for
platform devices.

On RSK+RZA1, the boot log changes like:

    -clocksource: ostm: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 
57352151442 ns
    +clocksource: timer@fcfec000: mask: 0xffffffff max_cycles: 0xffffffff, 
max_idle_ns: 57352151442 ns
     sched_clock: 32 bits at 33MHz, resolution 30ns, wraps every 64440619504ns
    -ostm: used for clocksource
    -ostm: used for clock events
    +/soc/timer@fcfec000: used for clocksource
    +/soc/timer@fcfec400: used for clock events
     ...
    -clocksource: Switched to clocksource ostm
    +clocksource: Switched to clocksource timer@fcfec000

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
v4:
  - Rebase on top of timer_of conversion, and use np->full_name or %pOF,
    like the timer-of core does,

v3:
  - Make the name format similar to the one used for platform devices,
  - Use kasprintf() instead of buffer size guessing,
  - Use a real example from rskrza1.

v2 (by Jacopo):
  - Use np->fullname.
---
 drivers/clocksource/renesas-ostm.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/clocksource/renesas-ostm.c 
b/drivers/clocksource/renesas-ostm.c
index 46012d905604bc43..3d06ba66008c7029 100644
--- a/drivers/clocksource/renesas-ostm.c
+++ b/drivers/clocksource/renesas-ostm.c
@@ -64,9 +64,9 @@ static int __init ostm_init_clksrc(struct timer_of *to)
        writeb(CTL_FREERUN, timer_of_base(to) + OSTM_CTL);
        writeb(TS, timer_of_base(to) + OSTM_TS);
 
-       return clocksource_mmio_init(timer_of_base(to) + OSTM_CNT, "ostm",
-                                    timer_of_rate(to), 300, 32,
-                                    clocksource_mmio_readl_up);
+       return clocksource_mmio_init(timer_of_base(to) + OSTM_CNT,
+                                    to->np->full_name, timer_of_rate(to), 300,
+                                    32, clocksource_mmio_readl_up);
 }
 
 static u64 notrace ostm_read_sched_clock(void)
@@ -190,13 +190,13 @@ static int __init ostm_init(struct device_node *np)
                        goto err_cleanup;
 
                ostm_init_sched_clock(to);
-               pr_info("ostm: used for clocksource\n");
+               pr_info("%pOF: used for clocksource\n", np);
        } else {
                ret = ostm_init_clkevt(to);
                if (ret)
                        goto err_cleanup;
 
-               pr_info("ostm: used for clock events\n");
+               pr_info("%pOF: used for clock events\n", np);
        }
 
        return 0;
-- 
2.17.1

Reply via email to