From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37098) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y99wR-00043u-5S for qemu-devel@nongnu.org; Thu, 08 Jan 2015 05:03:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y99wI-0002Ox-IZ for qemu-devel@nongnu.org; Thu, 08 Jan 2015 05:03:47 -0500 Received: from mail-wi0-x22b.google.com ([2a00:1450:400c:c05::22b]:57523) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y99wI-0002Np-BA for qemu-devel@nongnu.org; Thu, 08 Jan 2015 05:03:38 -0500 Received: by mail-wi0-f171.google.com with SMTP id bs8so2169294wib.4 for ; Thu, 08 Jan 2015 02:03:37 -0800 (PST) Received: from playground.station (net-37-117-147-67.cust.vodafonedsl.it. [37.117.147.67]) by mx.google.com with ESMTPSA id qg11sm21175327wic.17.2015.01.08.02.03.36 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Jan 2015 02:03:36 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Thu, 8 Jan 2015 11:03:26 +0100 Message-Id: <1420711408-15766-3-git-send-email-pbonzini@redhat.com> In-Reply-To: <1420711408-15766-1-git-send-email-pbonzini@redhat.com> References: <1420711408-15766-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 2/4] qemu-timer: add timer_init and timer_init_ns/us/ms List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org These functions for the main loop TimerListGroup will replace timer_new and timer_new_ns/us/ms. Signed-off-by: Paolo Bonzini --- include/qemu/timer.h | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/include/qemu/timer.h b/include/qemu/timer.h index 0666920..9f44233 100644 --- a/include/qemu/timer.h +++ b/include/qemu/timer.h @@ -428,6 +428,79 @@ void timer_init_tl(QEMUTimer *ts, QEMUTimerCB *cb, void *opaque); /** + * timer_init: + * @clock: the clock to associate with the timer + * @scale: the scale value for the timer + * @cb: the callback to call when the timer expires + * @opaque: the opaque pointer to pass to the callback + * + * Create a new timer with the given scale on the default timer list + * associated with the clock. + * + * You need not call an explicit deinit call. Simply make + * sure it is not on a list with timer_del. + */ +static inline void timer_init(QEMUTimer *ts, QEMUClockType type, int scale, + QEMUTimerCB *cb, void *opaque) +{ + timer_init_tl(ts, main_loop_tlg.tl[type], scale, cb, opaque); +} + +/** + * timer_init_ns: + * @clock: the clock to associate with the timer + * @cb: the callback to call when the timer expires + * @opaque: the opaque pointer to pass to the callback + * + * Create a new timer with nanosecond scale on the default timer list + * associated with the clock. + * + * You need not call an explicit deinit call. Simply make + * sure it is not on a list with timer_del. + */ +static inline void timer_init_ns(QEMUTimer *ts, QEMUClockType type, + QEMUTimerCB *cb, void *opaque) +{ + timer_init(ts, type, SCALE_NS, cb, opaque); +} + +/** + * timer_init_us: + * @clock: the clock to associate with the timer + * @cb: the callback to call when the timer expires + * @opaque: the opaque pointer to pass to the callback + * + * Create a new timer with microsecond scale on the default timer list + * associated with the clock. + * + * You need not call an explicit deinit call. Simply make + * sure it is not on a list with timer_del. + */ +static inline void timer_init_us(QEMUTimer *ts, QEMUClockType type, + QEMUTimerCB *cb, void *opaque) +{ + timer_init(ts, type, SCALE_US, cb, opaque); +} + +/** + * timer_init_ms: + * @clock: the clock to associate with the timer + * @cb: the callback to call when the timer expires + * @opaque: the opaque pointer to pass to the callback + * + * Create a new timer with millisecond scale on the default timer list + * associated with the clock. + * + * You need not call an explicit deinit call. Simply make + * sure it is not on a list with timer_del. + */ +static inline void timer_init_ms(QEMUTimer *ts, QEMUClockType type, + QEMUTimerCB *cb, void *opaque) +{ + timer_init(ts, type, SCALE_MS, cb, opaque); +} + +/** * timer_new_tl: * @timer_list: the timer list to attach the timer to * @scale: the scale value for the timer -- 2.1.0