mirror of https://github.com/xemu-project/xemu.git
hw/clock: Let clock_set() return boolean value
Let clock_set() return a boolean value whether the clock has been updated or not. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20200806123858.30058-3-f4bug@amsat.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
bb80ae077e
commit
15aa2876d9
|
@ -34,11 +34,16 @@ void clock_clear_callback(Clock *clk)
|
|||
clock_set_callback(clk, NULL, NULL);
|
||||
}
|
||||
|
||||
void clock_set(Clock *clk, uint64_t period)
|
||||
bool clock_set(Clock *clk, uint64_t period)
|
||||
{
|
||||
if (clk->period == period) {
|
||||
return false;
|
||||
}
|
||||
trace_clock_set(CLOCK_PATH(clk), CLOCK_PERIOD_TO_NS(clk->period),
|
||||
CLOCK_PERIOD_TO_NS(period));
|
||||
clk->period = period;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void clock_propagate_period(Clock *clk, bool call_callbacks)
|
||||
|
|
|
@ -127,17 +127,19 @@ void clock_set_source(Clock *clk, Clock *src);
|
|||
* @value: the clock's value, 0 means unclocked
|
||||
*
|
||||
* Set the local cached period value of @clk to @value.
|
||||
*
|
||||
* @return: true if the clock is changed.
|
||||
*/
|
||||
void clock_set(Clock *clk, uint64_t value);
|
||||
bool clock_set(Clock *clk, uint64_t value);
|
||||
|
||||
static inline void clock_set_hz(Clock *clk, unsigned hz)
|
||||
static inline bool clock_set_hz(Clock *clk, unsigned hz)
|
||||
{
|
||||
clock_set(clk, CLOCK_PERIOD_FROM_HZ(hz));
|
||||
return clock_set(clk, CLOCK_PERIOD_FROM_HZ(hz));
|
||||
}
|
||||
|
||||
static inline void clock_set_ns(Clock *clk, unsigned ns)
|
||||
static inline bool clock_set_ns(Clock *clk, unsigned ns)
|
||||
{
|
||||
clock_set(clk, CLOCK_PERIOD_FROM_NS(ns));
|
||||
return clock_set(clk, CLOCK_PERIOD_FROM_NS(ns));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue