[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().