On 9 Aug 2013, at 11:06, Paolo Bonzini wrote: >> +/** >> + * aio_timer_new: >> + * @ctx: the aio context >> + * @type: the clock type >> + * @scale: the scale >> + * @cb: the callback to call on timer expiry >> + * @opaque: the opaque pointer to pass to the callback >> + * >> + * Generate a new timer attached to the context @ctx. >> + * >> + * Returns: a pointer to the new timer >> + */ >> +static inline QEMUTimer *aio_timer_new(AioContext *ctx, QEMUClockType type, >> + int scale, >> + QEMUTimerCB *cb, void *opaque) >> +{ >> + return timer_new(ctx->tlg[type], scale, cb, opaque); >> +} > > Since we're doing a new API, I would prefer to have it as timer_init and > aio_timer_init. We can remove the allocation completely, it is a > useless indirection and we misuse it since we hardly ever call > qemu_free_timer.
Would that not require change the huge number of qemu_timer_new references to use this new API? That sounds less than automatic! Not in favour of that one. -- Alex Bligh