qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] DO_UPCAST confusion


From: Markus Armbruster
Subject: Re: [Qemu-devel] DO_UPCAST confusion
Date: Thu, 22 Oct 2015 14:00:18 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Peter Maydell <address@hidden> writes:

> On 21 October 2015 at 23:49, Eric Blake <address@hidden> wrote:
>> I much prefer the name container_of() (which is a bit more obvious that
>> it is finding the container or derived type that embeds the parent
>> type), but if we have to keep the ugly name, could we at least clean up
>> the comment to make sense, and fix the name to be DO_DOWNCAST to match
>> what it is actually doing?

DO_UPCAST() needs deletion, not renaming.

> You can't call this one container_of, because it's doing
> container_of plus extra checking.
>
> As Gerd says, most of these uses should probably go away, but
> ideally by conversion to the QOM cast macros rather than
> just dropping down to use of container_of.

Yes, any DO_UPCAST() of QOM objects should be converted to the proper
QOM casts.

DO_UPCAST() of something that should be a QOM object... well, ideally
the something should be converted to QOM, but that's hardly simple
cleanup.

Any DO_UPCAST() that have crept into other code could be simply replaced
by container_of().  If we want to keep the extra checking Peter
mentioned, we could have a container_of_checked() or something.  *Not* a
renamed DO_UPCAST(), because DO_UPCAST() pointlessly takes its arguments
in a different order than container_of().



reply via email to

[Prev in Thread] Current Thread [Next in Thread]