Peter Maydell <peter.mayd...@linaro.org> writes: > On Fri, 15 Jan 2021 at 15:45, Markus Armbruster <arm...@redhat.com> wrote: >> >> The .realize() method realizes the child at (1). It should use >> qdev_realize() like we do everywhere else, since commit ce189ab230 >> "qdev: Convert bus-less devices to qdev_realize() with Coccinelle". >> >> It sets a link property from the child back to the parent at (2). Why >> do we need a link? Each QOM Object contains a pointer to its parent, >> doesn't it? > > It does, but what should parent object pointers be used for? > My assumption is that you'd only use those where you really > wanted to traverse the QOM tree. Generally I would use a link > property when I wanted one object to have a pointer to the > other regardless of what the QOM-tree relationship happens to > be. Today all the users of XHCIState happen to create it in a > way that means they're parents of it, but that doesn't seem > like it should be an inherent requirement that we bake into > its API.
Makes sense. I'll post a patch to use qdev_realize(). Thanks!