mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
clock: Add new clock_has_source() function
Add a function for checking whether a clock has a source. This is useful for devices which have input clocks that must be wired up by the board as it allows them to fail in realize rather than ploughing on with a zero-period clock. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Luc Michel <luc@lmichel.fr> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20210128114145.20536-3-peter.maydell@linaro.org Message-id: 20210121190622.22000-3-peter.maydell@linaro.org
This commit is contained in:
parent
ad140dadd5
commit
132b10251c
2 changed files with 31 additions and 0 deletions
|
@ -235,6 +235,22 @@ object during device instance init. For example:
|
|||
/* set initial value to 10ns / 100MHz */
|
||||
clock_set_ns(clk, 10);
|
||||
|
||||
To enforce that the clock is wired up by the board code, you can
|
||||
call ``clock_has_source()`` in your device's realize method:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
if (!clock_has_source(s->clk)) {
|
||||
error_setg(errp, "MyDevice: clk input must be connected");
|
||||
return;
|
||||
}
|
||||
|
||||
Note that this only checks that the clock has been wired up; it is
|
||||
still possible that the output clock connected to it is disabled
|
||||
or has not yet been configured, in which case the period will be
|
||||
zero. You should use the clock callback to find out when the clock
|
||||
period changes.
|
||||
|
||||
Fetching clock frequency/period
|
||||
-------------------------------
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue