summaryrefslogtreecommitdiffstats
path: root/include/hw
diff options
context:
space:
mode:
authorPeter Maydell2020-12-15 16:09:29 +0100
committerPhilippe Mathieu-Daudé2021-01-04 23:24:44 +0100
commitb7cd9c1e840d511319f326ee8cab772b3ac50a3b (patch)
tree3f188cddddb2034e0e268be2070151c4518e6b8b /include/hw
parentclock: Remove clock_get_ns() (diff)
downloadqemu-b7cd9c1e840d511319f326ee8cab772b3ac50a3b.tar.gz
qemu-b7cd9c1e840d511319f326ee8cab772b3ac50a3b.tar.xz
qemu-b7cd9c1e840d511319f326ee8cab772b3ac50a3b.zip
clock: Define and use new clock_display_freq()
It's common to want to print a human-readable indication of a clock's frequency. Provide a utility function in the clock API to return a string which is a displayable representation of the frequency, and use it in qdev-monitor.c. Before: (qemu) info qtree [...] dev: xilinx,zynq_slcr, id "" clock-in "ps_clk" freq_hz=3.333333e+07 mmio 00000000f8000000/0000000000001000 After: dev: xilinx,zynq_slcr, id "" clock-in "ps_clk" freq_hz=33.3 MHz mmio 00000000f8000000/0000000000001000 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Luc Michel <luc@lmichel.fr> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20201215150929.30311-5-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/clock.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/hw/clock.h b/include/hw/clock.h
index 852c636961..6382f34656 100644
--- a/include/hw/clock.h
+++ b/include/hw/clock.h
@@ -264,4 +264,16 @@ static inline bool clock_is_enabled(const Clock *clk)
return clock_get(clk) != 0;
}
+/**
+ * clock_display_freq: return human-readable representation of clock frequency
+ * @clk: clock
+ *
+ * Return a string which has a human-readable representation of the
+ * clock's frequency, e.g. "33.3 MHz". This is intended for debug
+ * and display purposes.
+ *
+ * The caller is responsible for freeing the string with g_free().
+ */
+char *clock_display_freq(Clock *clk);
+
#endif /* QEMU_HW_CLOCK_H */