From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBE49-0000fw-LE for qemu-devel@nongnu.org; Mon, 21 Dec 2015 22:56:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aBE46-00061e-EZ for qemu-devel@nongnu.org; Mon, 21 Dec 2015 22:56:49 -0500 Received: from [59.151.112.132] (port=19349 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBE46-00061Q-3O for qemu-devel@nongnu.org; Mon, 21 Dec 2015 22:56:46 -0500 References: <1450436632-23980-1-git-send-email-caoj.fnst@cn.fujitsu.com> <1450436632-23980-4-git-send-email-caoj.fnst@cn.fujitsu.com> <56744A11.3030405@redhat.com> <56769336.9050104@cn.fujitsu.com> <56781F82.3060603@redhat.com> From: Cao jin Message-ID: <5678CA5D.8070002@cn.fujitsu.com> Date: Tue, 22 Dec 2015 11:58:21 +0800 MIME-Version: 1.0 In-Reply-To: <56781F82.3060603@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/5] PXB: convert to realize() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , mst@redhat.com On 12/21/2015 11:49 PM, Paolo Bonzini wrote: > > > On 20/12/2015 12:38, Cao jin wrote: >>>> >>>> + object_unref(OBJECT(ds)); >>>> + object_unref(OBJECT(bds)); >>>> + object_unref(OBJECT(bus)); >>> >>> I think these should be object_unparent, not unref. >>> >> >> But, it seems these 3 objects isn`t added as a child-property via >> object_property_add_child() during creation, so OBJECT(ds)->parent(so >> does the other 2) will be NULL, and so object_unparent will do nothing? > > qdev_init_nofail adds them (qdev_init_nofail -> object_property_set_bool > -> device_set_realized -> object_property_add_child). > > If you haven't reached qdev_init_nofail, you should indeed unref ds and > bds instead. However, the bus should be unparented because pci_bus_new > makes it a child of ds (pci_bus_new -> qbus_create -> qbus_realize -> > object_property_add_child). > Yes...that`s true. and @Marcel, I think maybe this is final decision? > Paolo > > > . > -- Yours Sincerely, Cao Jin