From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
Alex Bligh <alex@alex.org.uk>,
Anthony Liguori <anthony@codemonkey.ws>
Subject: [Qemu-devel] [PULL 39/42] aio / timers: Remove legacy interface
Date: Thu, 22 Aug 2013 22:11:35 +0200 [thread overview]
Message-ID: <1377202298-22896-40-git-send-email-stefanha@redhat.com> (raw)
In-Reply-To: <1377202298-22896-1-git-send-email-stefanha@redhat.com>
From: Alex Bligh <alex@alex.org.uk>
Remove the legacy interface from include/qemu/timers.h.
Ensure struct QEMUClock is not exposed at all.
Signed-off-by: Alex Bligh <alex@alex.org.uk>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
include/qemu/timer.h | 214 +--------------------------------------------------
qemu-timer.c | 35 +--------
2 files changed, 5 insertions(+), 244 deletions(-)
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index 705463a..e4934dd 100644
--- a/include/qemu/timer.h
+++ b/include/qemu/timer.h
@@ -45,7 +45,6 @@ typedef enum {
QEMU_CLOCK_MAX
} QEMUClockType;
-typedef struct QEMUClock QEMUClock;
typedef struct QEMUTimerList QEMUTimerList;
struct QEMUTimerListGroup {
@@ -67,20 +66,10 @@ struct QEMUTimer {
extern QEMUTimerListGroup main_loop_tlg;
/*
- * QEMUClock & QEMUClockType
+ * QEMUClockType
*/
-/**
- * qemu_clock_ptr:
- * @type: type of clock
- *
- * Translate a clock type into a pointer to QEMUClock object.
- *
- * Returns: a pointer to the QEMUClock object
- */
-QEMUClock *qemu_clock_ptr(QEMUClockType type);
-
-/**
+/*
* qemu_clock_get_ns;
* @type: the clock type
*
@@ -655,205 +644,6 @@ static inline int64_t get_ticks_per_sec(void)
return 1000000000LL;
}
-/**************************************************
- * LEGACY API SECTION
- *
- * All these calls will be deleted in due course
- */
-
-/* These three clocks are maintained here with separate variable
- * names for compatibility only.
- */
-#define rt_clock (qemu_clock_ptr(QEMU_CLOCK_REALTIME))
-#define vm_clock (qemu_clock_ptr(QEMU_CLOCK_VIRTUAL))
-#define host_clock (qemu_clock_ptr(QEMU_CLOCK_HOST))
-
-/** LEGACY
- * qemu_get_clock_ns:
- * @clock: the clock to operate on
- *
- * Get the nanosecond value of a clock
- *
- * Returns: the clock value in nanoseconds
- */
-int64_t qemu_get_clock_ns(QEMUClock *clock);
-
-/** LEGACY
- * qemu_get_clock_ms:
- * @clock: the clock to operate on
- *
- * Get the millisecond value of a clock
- *
- * Returns: the clock value in milliseconds
- */
-static inline int64_t qemu_get_clock_ms(QEMUClock *clock)
-{
- return qemu_get_clock_ns(clock) / SCALE_MS;
-}
-
-/** LEGACY
- * qemu_register_clock_reset_notifier:
- * @clock: the clock to operate on
- * @notifier: the notifier function
- *
- * Register a notifier function to call when the clock
- * concerned is reset.
- */
-void qemu_register_clock_reset_notifier(QEMUClock *clock,
- Notifier *notifier);
-
-/** LEGACY
- * qemu_unregister_clock_reset_notifier:
- * @clock: the clock to operate on
- * @notifier: the notifier function
- *
- * Unregister a notifier function to call when the clock
- * concerned is reset.
- */
-void qemu_unregister_clock_reset_notifier(QEMUClock *clock,
- Notifier *notifier);
-
-/** LEGACY
- * qemu_new_timer:
- * @clock: the clock to operate on
- * @scale: the scale of the clock
- * @cb: the callback function to call when the timer expires
- * @opaque: an opaque pointer to pass to the callback
- *
- * Produce a new timer attached to clock @clock. This is a legacy
- * function. Use timer_new instead.
- *
- * Returns: a pointer to the new timer allocated.
- */
-QEMUTimer *qemu_new_timer(QEMUClock *clock, int scale,
- QEMUTimerCB *cb, void *opaque);
-
-/** LEGACY
- * qemu_free_timer:
- * @ts: the timer to operate on
- *
- * free the timer @ts. @ts must not be active.
- *
- * This is a legacy function. Use timer_free instead.
- */
-static inline void qemu_free_timer(QEMUTimer *ts)
-{
- timer_free(ts);
-}
-
-/** LEGACY
- * qemu_del_timer:
- * @ts: the timer to operate on
- *
- * Delete a timer. This makes it inactive. It does not free
- * memory.
- *
- * This is a legacy function. Use timer_del instead.
- */
-static inline void qemu_del_timer(QEMUTimer *ts)
-{
- timer_del(ts);
-}
-
-/** LEGACY
- * qemu_mod_timer_ns:
- * @ts: the timer to operate on
- * @expire_time: the expiry time in nanoseconds
- *
- * Modify a timer such that the expiry time is @expire_time
- * as measured in nanoseconds
- *
- * This is a legacy function. Use timer_mod_ns.
- */
-static inline void qemu_mod_timer_ns(QEMUTimer *ts, int64_t expire_time)
-{
- timer_mod_ns(ts, expire_time);
-}
-
-/** LEGACY
- * qemu_mod_timer:
- * @ts: the timer to operate on
- * @expire_time: the expiry time
- *
- * Modify a timer such that the expiry time is @expire_time
- * as measured in the timer's scale
- *
- * This is a legacy function. Use timer_mod.
- */
-static inline void qemu_mod_timer(QEMUTimer *ts, int64_t expire_time)
-{
- timer_mod(ts, expire_time);
-}
-
-/** LEGACY
- * qemu_run_timers:
- * @clock: clock on which to operate
- *
- * Run all the timers associated with the default timer list
- * of a clock.
- *
- * Returns: true if any timer ran.
- */
-bool qemu_run_timers(QEMUClock *clock);
-
-/** LEGACY
- * qemu_new_timer_ns:
- * @clock: the clock to associate with the timer
- * @callback: 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.
- *
- * Returns: a pointer to the newly created timer
- */
-static inline QEMUTimer *qemu_new_timer_ns(QEMUClock *clock, QEMUTimerCB *cb,
- void *opaque)
-{
- return qemu_new_timer(clock, SCALE_NS, cb, opaque);
-}
-
-/** LEGACY
- * qemu_new_timer_us:
- * @clock: the clock to associate with the timer
- * @callback: 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.
- *
- * Returns: a pointer to the newly created timer
- */
-static inline QEMUTimer *qemu_new_timer_us(QEMUClock *clock,
- QEMUTimerCB *cb,
- void *opaque)
-{
- return qemu_new_timer(clock, SCALE_US, cb, opaque);
-}
-
-/** LEGACY
- * qemu_new_timer_ms:
- * @clock: the clock to associate with the timer
- * @callback: 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.
- *
- * Returns: a pointer to the newly created timer
- */
-static inline QEMUTimer *qemu_new_timer_ms(QEMUClock *clock,
- QEMUTimerCB *cb,
- void *opaque)
-{
- return qemu_new_timer(clock, SCALE_MS, cb, opaque);
-}
-
-/****************************************************
- * END OF LEGACY API SECTION
- */
-
-
/*
* Low level clock functions
*/
diff --git a/qemu-timer.c b/qemu-timer.c
index ed1763f..95ff47f 100644
--- a/qemu-timer.c
+++ b/qemu-timer.c
@@ -44,7 +44,7 @@
/***********************************************************/
/* timers */
-struct QEMUClock {
+typedef struct QEMUClock {
QLIST_HEAD(, QEMUTimerList) timerlists;
NotifierList reset_notifiers;
@@ -52,7 +52,7 @@ struct QEMUClock {
QEMUClockType type;
bool enabled;
-};
+} QEMUClock;
QEMUTimerListGroup main_loop_tlg;
QEMUClock qemu_clocks[QEMU_CLOCK_MAX];
@@ -80,7 +80,7 @@ struct QEMUTimerList {
*
* Returns: a pointer to the QEMUClock object
*/
-QEMUClock *qemu_clock_ptr(QEMUClockType type)
+static inline QEMUClock *qemu_clock_ptr(QEMUClockType type)
{
return &qemu_clocks[type];
}
@@ -291,13 +291,6 @@ void timer_init(QEMUTimer *ts,
ts->scale = scale;
}
-QEMUTimer *qemu_new_timer(QEMUClock *clock, int scale,
- QEMUTimerCB *cb, void *opaque)
-{
- return timer_new_tl(main_loop_tlg.tl[clock->type],
- scale, cb, opaque);
-}
-
void timer_free(QEMUTimer *ts)
{
g_free(ts);
@@ -407,11 +400,6 @@ bool qemu_clock_run_timers(QEMUClockType type)
return timerlist_run_timers(main_loop_tlg.tl[type]);
}
-bool qemu_run_timers(QEMUClock *clock)
-{
- return qemu_clock_run_timers(clock->type);
-}
-
void timerlistgroup_init(QEMUTimerListGroup *tlg,
QEMUTimerListNotifyCB *cb, void *opaque)
{
@@ -479,11 +467,6 @@ int64_t qemu_clock_get_ns(QEMUClockType type)
}
}
-int64_t qemu_get_clock_ns(QEMUClock *clock)
-{
- return qemu_clock_get_ns(clock->type);
-}
-
void qemu_clock_register_reset_notifier(QEMUClockType type,
Notifier *notifier)
{
@@ -497,18 +480,6 @@ void qemu_clock_unregister_reset_notifier(QEMUClockType type,
notifier_remove(notifier);
}
-void qemu_register_clock_reset_notifier(QEMUClock *clock,
- Notifier *notifier)
-{
- qemu_clock_register_reset_notifier(clock->type, notifier);
-}
-
-void qemu_unregister_clock_reset_notifier(QEMUClock *clock,
- Notifier *notifier)
-{
- qemu_clock_unregister_reset_notifier(clock->type, notifier);
-}
-
void init_clocks(void)
{
QEMUClockType type;
--
1.8.3.1
next prev parent reply other threads:[~2013-08-22 20:13 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-22 20:10 [Qemu-devel] [PULL 00/42] Block patches Stefan Hajnoczi
2013-08-22 20:10 ` [Qemu-devel] [PULL 01/42] qcow2: Change default for new images to compat=1.1 Stefan Hajnoczi
2013-08-22 20:10 ` [Qemu-devel] [PULL 02/42] block: Introduce bs->zero_beyond_eof Stefan Hajnoczi
2013-08-22 20:10 ` [Qemu-devel] [PULL 03/42] block: Produce zeros when protocols reading beyond end of file Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 04/42] block: better error message for read only format name Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 05/42] vmdk: Move l1_size check into vmdk_add_extent() Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 06/42] vmdk: fix L1 and L2 table size in vmdk3 open Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 07/42] vmdk: support vmfsSparse files Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 08/42] vmdk: support vmfs files Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 09/42] aio / timers: Rename qemu_timer_* functions Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 10/42] aio / timers: Rename qemu_new_clock and expose clock types Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 11/42] aio / timers: add qemu-timer.c utility functions Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 12/42] aio / timers: Consistent treatment of disabled clocks for deadlines Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 13/42] aio / timers: add ppoll support with qemu_poll_ns Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 14/42] aio / timers: Add prctl(PR_SET_TIMERSLACK, 1, ...) to reduce timer slack Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 15/42] aio / timers: Make qemu_run_timers and qemu_run_all_timers return progress Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 16/42] aio / timers: Split QEMUClock into QEMUClock and QEMUTimerList Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 17/42] aio / timers: Untangle include files Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 18/42] aio / timers: Add QEMUTimerListGroup and helper functions Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 19/42] aio / timers: Add QEMUTimerListGroup to AioContext Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 20/42] aio / timers: Add a notify callback to QEMUTimerList Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 21/42] aio / timers: aio_ctx_prepare sets timeout from AioContext timers Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 22/42] aio / timers: Add aio_timer_init & aio_timer_new wrappers Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 23/42] aio / timers: Convert aio_poll to use AioContext timers' deadline Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 24/42] aio / timers: Convert mainloop to use timeout Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 25/42] aio / timers: On timer modification, qemu_notify or aio_notify Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 26/42] aio / timers: Introduce new API timer_new and friends Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 27/42] aio / timers: Use all timerlists in icount warp calculations Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 28/42] aio / timers: Add documentation and new format calls Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 29/42] aio / timers: Remove alarm timers Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 30/42] aio / timers: Remove legacy qemu_clock_deadline & qemu_timerlist_deadline Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 31/42] aio / timers: Add qemu_clock_get_ms and qemu_clock_get_ms Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 32/42] aio / timers: Rearrange timer.h & make legacy functions call non-legacy Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 33/42] aio / timers: Remove main_loop_timerlist Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 34/42] aio / timers: Convert rtc_clock to be a QEMUClockType Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 35/42] aio / timers: convert block_job_sleep_ns and co_sleep_ns to new API Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 36/42] aio / timers: Add test harness for AioContext timers Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 37/42] aio / timers: Add scripts/switch-timer-api Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 38/42] aio / timers: Switch entire codebase to the new timer API Stefan Hajnoczi
2013-08-22 20:11 ` Stefan Hajnoczi [this message]
2013-08-22 20:11 ` [Qemu-devel] [PULL 40/42] aio / timers: remove dummy_io_handler_flush from tests/test-aio.c Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 41/42] aio-win32: replace incorrect AioHandler->opaque usage with ->e Stefan Hajnoczi
2013-08-22 20:11 ` [Qemu-devel] [PULL 42/42] win32-aio: drop win32_aio_flush_cb() Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1377202298-22896-40-git-send-email-stefanha@redhat.com \
--to=stefanha@redhat.com \
--cc=alex@alex.org.uk \
--cc=anthony@codemonkey.ws \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).