From nobody Sun Apr 28 23:28:56 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554133310781644.928766324076; Mon, 1 Apr 2019 08:41:50 -0700 (PDT) Received: from localhost ([127.0.0.1]:58350 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hAz45-0002Gm-9J for importer@patchew.org; Mon, 01 Apr 2019 11:41:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38264) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hAz2t-00015d-6g for qemu-devel@nongnu.org; Mon, 01 Apr 2019 11:40:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hAz2s-0002mq-4M for qemu-devel@nongnu.org; Mon, 01 Apr 2019 11:40:23 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:41127) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hAz2r-0002mC-OZ for qemu-devel@nongnu.org; Mon, 01 Apr 2019 11:40:22 -0400 Received: by mail-wr1-x431.google.com with SMTP id r4so12671402wrq.8 for ; Mon, 01 Apr 2019 08:40:21 -0700 (PDT) Received: from erokenlabserver ([41.203.78.50]) by smtp.gmail.com with ESMTPSA id z18sm17901888wrr.90.2019.04.01.08.40.17 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 01 Apr 2019 08:40:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :user-agent; bh=Yhwqar9BjV5tZD5CCZgDq4TzpHPUdldWIt460+pUZUg=; b=gQGSXtq78hw/uWls1uJbepLoIh7Be43gYLR17eHLp/cEMPMADsi0IkPFZtdrrxNWnm aCaBny0wjL7PQz2/zGRMom9Z7sviOVWuagbVH86yBxoMC63UEOBb8Sy0X0b85yO7g8N0 AzjyWdAxdpqlZ62X7panXddp4tm6usabc8Avfeg7ZJiDcXOj4RVIuWqI17jUIS4OP6S/ x5PuLTnvAq8IQyRNDyloHgoEmlkxSWVWUedMXJK2uqEBUxIHo0w5gHnOVfRmPnTNhJ6A hmZLI05PKB0mht2YDo2Z+6bgq5VGDIU6J2RntmT6WBUx/IHBE6fu3VN9fvg98aXNxU1t ViDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:user-agent; bh=Yhwqar9BjV5tZD5CCZgDq4TzpHPUdldWIt460+pUZUg=; b=FYZmAtwFxsgeDmj71wQqIHCehfXJZapbb8f/j3MLLLmbk9X/rQYVTRQnJT56Fnjzey Kh8+D3r7V6TM4FPYN3IuT/W5Llz20QDEOkGTasmTxqjLIWl7U4eBgC0XJIOA8SO4Csdp q+52HCGcmaePy+CBBVlvVKVtfD6ArlGOkAYTQxM1ip0yypHHEt9fjPfO3Sz4egdD2SGJ pDSOXkoXv4E/pPNCxoyjpV6K2x6rzqwcQCQJuZT+tmSpWRFTH/dKMy5Banwzt3/nz2ND XFasrQn6y3wAb2lAge0DDYg2v9OhKvWvzRamKK+z8+dojoTFbE6C568s+xPw49sgUGCl mo1Q== X-Gm-Message-State: APjAAAUswsXnzw5Cd5KaD1Pxu62kk0g0pvHY/3BYZRp6E+RIk95Z0t4k B9q2xGti1eaxakjE/ynGL7o/LLfJ X-Google-Smtp-Source: APXvYqxctPWXZR24dPrUNpuu4cwrUEuhpoML3Ji8hF/J3Fl2uKsqwqi1brXyyZc0yWJ8geXnGq4BHQ== X-Received: by 2002:adf:82c9:: with SMTP id 67mr11523076wrc.261.1554133220397; Mon, 01 Apr 2019 08:40:20 -0700 (PDT) Date: Mon, 1 Apr 2019 16:40:28 +0100 From: Ernest Esene To: qemu-devel@nongnu.org Message-ID: <20190401154028.GA10574@erokenlabserver> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="VbJkn9YxBvnuCH5J" Content-Disposition: inline User-Agent: Mutt/1.11.4 (2019-03-13) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::431 Subject: [Qemu-devel] [PATCH v2] Replace calls to object_child_foreach() with object_child_foreach_recursive() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefan Hajnoczi , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-Zoho-Virus-Status: 1 X-ZohoMail-DKIM: fail (Header signature does not verify) --VbJkn9YxBvnuCH5J Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Replace calls to object_child_foreach() with object_child_foreach_recursive= () when applicable: nvdimm_device_list, nmi_monitor_handle, find_sysbus_device, pc_dimm_slot2bitmap, build_dimm_list. Signed-off-by: Ernest Esene Reviewed-by: Stefan Hajnoczi --- v2: * applied changes suggested by Paolo --- hw/acpi/nvdimm.c | 4 +--- hw/core/sysbus.c | 11 ++++------- hw/mem/pc-dimm.c | 3 +-- hw/virtio/virtio-balloon.c | 3 +-- 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c index 9fdad6dc3f..36ff075a42 100644 --- a/hw/acpi/nvdimm.c +++ b/hw/acpi/nvdimm.c @@ -40,8 +40,6 @@ static int nvdimm_device_list(Object *obj, void *opaque) if (object_dynamic_cast(obj, TYPE_NVDIMM)) { *list =3D g_slist_append(*list, DEVICE(obj)); } - - object_child_foreach(obj, nvdimm_device_list, opaque); return 0; } =20 @@ -56,7 +54,7 @@ static GSList *nvdimm_get_device_list(void) { GSList *list =3D NULL; =20 - object_child_foreach(qdev_get_machine(), nvdimm_device_list, &list); + object_child_foreach_recursive(qdev_get_machine(), nvdimm_device_list,= &list); return list; } =20 diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c index 307cf90a51..3d0bf47a04 100644 --- a/hw/core/sysbus.c +++ b/hw/core/sysbus.c @@ -41,13 +41,10 @@ static int find_sysbus_device(Object *obj, void *opaque) dev =3D object_dynamic_cast(obj, TYPE_SYS_BUS_DEVICE); sbdev =3D (SysBusDevice *)dev; =20 - if (!sbdev) { - /* Container, traverse it for children */ - return object_child_foreach(obj, find_sysbus_device, opaque); + if (sbdev) { + find->func(sbdev, find->opaque); } =20 - find->func(sbdev, find->opaque); - return 0; } =20 @@ -65,9 +62,9 @@ void foreach_dynamic_sysbus_device(FindSysbusDeviceFunc *= func, void *opaque) =20 /* Loop through all sysbus devices that were spawened outside the mach= ine */ container =3D container_get(qdev_get_machine(), "/peripheral"); - find_sysbus_device(container, &find); + object_child_foreach_recursive(container, find_sysbus_device, &find); container =3D container_get(qdev_get_machine(), "/peripheral-anon"); - find_sysbus_device(container, &find); + object_child_foreach_recursive(container, find_sysbus_device, &find); } =20 =20 diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index 19b9c0f406..6eaac49a22 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -84,7 +84,6 @@ static int pc_dimm_slot2bitmap(Object *obj, void *opaque) } } =20 - object_child_foreach(obj, pc_dimm_slot2bitmap, opaque); return 0; } =20 @@ -100,7 +99,7 @@ static int pc_dimm_get_free_slot(const int *hint, int ma= x_slots, Error **errp) } =20 bitmap =3D bitmap_new(max_slots); - object_child_foreach(qdev_get_machine(), pc_dimm_slot2bitmap, bitmap); + object_child_foreach_recursive(qdev_get_machine(), pc_dimm_slot2bitmap= , bitmap); =20 /* check if requested slot is not occupied */ if (hint) { diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index 2112874055..7945637077 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -649,7 +649,6 @@ static int build_dimm_list(Object *obj, void *opaque) } } =20 - object_child_foreach(obj, build_dimm_list, opaque); return 0; } =20 @@ -658,7 +657,7 @@ static ram_addr_t get_current_ram_size(void) GSList *list =3D NULL, *item; ram_addr_t size =3D ram_size; =20 - build_dimm_list(qdev_get_machine(), &list); + object_child_foreach_recursive(qdev_get_machine(), build_dimm_list, &l= ist); for (item =3D list; item; item =3D g_slist_next(item)) { Object *obj =3D OBJECT(item->data); if (!strcmp(object_get_typename(obj), TYPE_PC_DIMM)) { --=20 2.14.2 --VbJkn9YxBvnuCH5J Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEFkNmxXgplc+HqgQGJZ4JoaCvxKoFAlyiMOcACgkQJZ4JoaCv xKqCUxAAwNufJhTcmuf2DZenDjHsxnMHgbP7MEeZ7dzRSGCo0tY6ogxyGQuJ067L NigjWYH5wOBoGFkJdvFvshiR5LMy2WLWOioZT6aQUVToQWiX+I+fuW7221Pd9HyS LSm47OLVVwl6smbD3cOL9b8r7egvloGeoexPZwG94NxF23swz193zKi00S7HRSG3 RKHmo0KUJYQgamBt/MbYOAoLkhkCK0YLxIZiDp3RXNHVcRN+IM9FqR4mUl4gbBBz aa0GeTx5JNi0NtmgtHfYnQLK8JTJTy+tzikxzlmSTxAEfU/WN7tzXahKjqEX74sT IgQtJV9KM/JcBqWZ04V9fj2ZJ5wbBmUVI99DluB6vAo2+a8d05nUz8YNzS1/BN/4 rPK2GSVxEyPb6OwjCFJqKPgS6aN8epreQ5QVsYqX83+gKTXYuv6pvOIV296Xk3WK 0uudQ6E+kzH5QbIZjcz6xzf+H0yvBoEuZas5d2+Pnhioq6divnztTgdcj7YyB48X eZfLRnXc8jKRpfuTV18QD5Fa88Nh1lk4CA+tn3l8JM8sTQiQVaOo0w2fCWiLbfX8 QN/SguLh8CyMbuUvhhq768qzAjJwaue7ESr19Ss6SY77mjouiBTeK3ngG4+ymfXq ojpw/qYnWWIsKZOvIsP+MJmNEvn5wAUP4fIjgJgeFOdAv3ebB5o= =zqnd -----END PGP SIGNATURE----- --VbJkn9YxBvnuCH5J--