Back in 2016, we discussed[1] rules for headers, and these were
generally liked:
1. Have a carefully curated header that's included everywhere first. We
got that already thanks to Peter: osdep.h.
2. Headers should normally include everything they need beyond osdep.h.
If exceptions are needed for some reason, they must be documented in
the header. If all that's needed from a header is typedefs, put
those into qemu/typedefs.h instead of including the header.
3. Cyclic inclusion is forbidden.
This series fixes a number of rule violations.
Together with
[PATCH v2 0/4] hw/ppc: Clean up includes
[PATCH v2 0/7] include/hw/pci include/hw/cxl: Clean up includes
in master as commit 9d94c21363..881e019770
[PATCH v2 0/3] block: Clean up includes
[PATCH v3 0/5] coroutine: Clean up includes
just three inclusion loops remain reachable from include/:
target/microblaze/cpu.h target/microblaze/mmu.h
target/nios2/cpu.h target/nios2/mmu.h
target/riscv/cpu.h target/riscv/pmp.h
Breaking them would be nice, but I'm out of steam.
v3:
* Rebased, old PATCH 1+2+4 are in master as commit
881e019770..f07ceffdf5
* PATCH 1: Fix bsd-user
v2:
* Rebased
* PATCH 3: v1 posted separately
* PATCH 4: New
[1] Message-ID: <87h9g8j57d.fsf@blackfin.pond.sub.org>
https://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg03345.html
Markus Armbruster (1):
include: Don't include qemu/osdep.h
bsd-user/qemu.h | 1 -
crypto/block-luks-priv.h | 1 -
include/hw/cxl/cxl_host.h | 1 -
include/hw/input/pl050.h | 1 -
include/hw/tricore/triboard.h | 1 -
include/qemu/userfaultfd.h | 1 -
net/vmnet_int.h | 1 -
qga/cutils.h | 1 -
target/hexagon/hex_arch_types.h | 1 -
target/hexagon/mmvec/macros.h | 1 -
target/riscv/pmu.h | 1 -
bsd-user/arm/signal.c | 1 +
bsd-user/arm/target_arch_cpu.c | 2 ++
bsd-user/freebsd/os-sys.c | 1 +
bsd-user/i386/signal.c | 1 +
bsd-user/x86_64/signal.c | 1 +
qga/cutils.c | 3 ++-
17 files changed, 8 insertions(+), 12 deletions(-)
--
2.39.0