From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PATCH 00/13] remove some types from typedefs.h
Date: Thu, 2 May 2024 17:53:18 +0200 [thread overview]
Message-ID: <20240502155331.109297-1-pbonzini@redhat.com> (raw)
The main reason for typedefs.h to exist is to avoid the need for
"struct Foo;" forward declarations of types that are needed in function
prototypes. It avoids the infamous "struct declared inside parameter list
will not be visible outside of this definition or declaration" warning.
Another less common use is when the struct is used as a pointer in
another struct (when the struct is embedded by value, the typedef is
obviously not enough).
This series is a first pass removing unnecessary typedefs. In most
cases, the users are actually already including it. In a few patches
towards the end, new includes are introduced but not in files that
already "rebuild the world" when changed.
Personally, I think that in many cases the uses are so limited
(often they only appear only in the few non-qdev boards that are
left) that they could use forward declarations of structs. I did
that for patch 12 (tcg) because there are already a couple of
forward declataions in include/hw/core/cpu.h, but that's more as
food for thought than anything else.
Paolo
Paolo Bonzini (13):
fw_cfg: remove useless declarations from typedefs.h
qdev-core: remove DeviceListener from typedefs.h
numa: remove types from typedefs.h
net: remove AnnounceTimer from typedefs.h
qemu-option: remove QemuOpt from typedefs.h
intc: remove PICCommonState from typedefs.h
lockable: remove QemuLockable from typedefs.h
migration: remove PostcopyDiscardState from typedefs.h
monitor: remove MonitorDef from typedefs.h
qapi/machine: remove types from typedefs.h
display: remove GraphicHwOps from typedefs.h
tcg: remove CPU* types from typedefs.h
pci: remove some types from typedefs.h
accel/tcg/tb-jmp-cache.h | 4 ++--
hw/display/vga_int.h | 1 +
include/hw/core/cpu.h | 11 +++++++++--
include/hw/intc/i8259.h | 2 ++
include/hw/nvram/fw_cfg.h | 2 ++
include/hw/pci/pcie.h | 3 +++
include/hw/pci/pcie_aer.h | 38 ++++++++++++++++++------------------
include/hw/pci/pcie_sriov.h | 8 ++++----
include/hw/qdev-core.h | 1 +
include/monitor/hmp-target.h | 11 +++++++----
include/net/announce.h | 4 ++--
include/qemu/coroutine.h | 4 ++--
include/qemu/lockable.h | 4 ++--
include/qemu/option.h | 2 ++
include/qemu/typedefs.h | 23 ----------------------
include/sysemu/numa.h | 8 ++++----
migration/postcopy-ram.c | 4 ++--
stubs/target-monitor-defs.c | 3 +--
system/physmem.c | 4 ++--
19 files changed, 67 insertions(+), 70 deletions(-)
--
2.44.0
next reply other threads:[~2024-05-02 15:53 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-02 15:53 Paolo Bonzini [this message]
2024-05-02 15:53 ` [PATCH 01/13] fw_cfg: remove useless declarations from typedefs.h Paolo Bonzini
2024-05-03 7:27 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 02/13] qdev-core: remove DeviceListener " Paolo Bonzini
2024-05-03 7:28 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 03/13] numa: remove types " Paolo Bonzini
2024-05-03 7:29 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 04/13] net: remove AnnounceTimer " Paolo Bonzini
2024-05-03 8:44 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 05/13] qemu-option: remove QemuOpt " Paolo Bonzini
2024-05-03 8:45 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 06/13] intc: remove PICCommonState " Paolo Bonzini
2024-05-03 8:43 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 07/13] lockable: remove QemuLockable " Paolo Bonzini
2024-05-03 8:41 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 08/13] migration: remove PostcopyDiscardState " Paolo Bonzini
2024-05-03 8:45 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 09/13] monitor: remove MonitorDef " Paolo Bonzini
2024-05-03 8:38 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 10/13] qapi/machine: remove types " Paolo Bonzini
2024-05-02 15:53 ` [PATCH 11/13] display: remove GraphicHwOps " Paolo Bonzini
2024-05-03 7:30 ` Philippe Mathieu-Daudé
2024-05-02 15:53 ` [PATCH 12/13] tcg: remove CPU* types " Paolo Bonzini
2024-05-02 15:53 ` [PATCH 13/13] pci: remove some " Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240502155331.109297-1-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).