Peter Maydell <peter.mayd...@linaro.org> writes: > On 21 October 2015 at 23:49, Eric Blake <ebl...@redhat.com> 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().