[PATCH v5 00/20] Clean up includes

Markus Armbruster posted 20 patches 1 year, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230130132156.1868019-1-armbru@redhat.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Alexandre Ratchov <alex@caoua.org>, David Hildenbrand <david@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Stefan Berger <stefanb@linux.vnet.ibm.com>, Xie Yongji <xieyongji@bytedance.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>, "Daniel P. Berrangé" <berrange@redhat.com>, Greg Kurz <groug@kaod.org>, Christian Schoenebeck <qemu_oss@crudebyte.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Aurelien Jarno <aurelien@aurel32.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Ani Sinha <ani@anisinha.ca>, Peter Maydell <peter.maydell@linaro.org>, Alistair Francis <alistair@alistair23.me>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, Yanan Wang <wangyanan55@huawei.com>, Helge Deller <deller@gmx.de>, Titus Rwantare <titusr@google.com>, Xiaojuan Yang <yangxiaojuan@loongson.cn>, Song Gao <gaosong@loongson.cn>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Jason Wang <jasowang@redhat.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Yuval Shaia <yuval.shaia.ml@gmail.com>, Elena Ufimtseva <elena.ufimtseva@oracle.com>, Jagannathan Raman <jag.raman@oracle.com>, John G Johnson <john.g.johnson@oracle.com>, Cornelia Huck <cohuck@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>, Jean-Christophe Dubois <jcd@tribudubois.net>, Andrey Smirnov <andrew.smirnov@gmail.com>, Ben Widawsky <ben.widawsky@intel.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, Huai-Cheng Kuo <hchkuo@avery-design.com.tw>, Chris Browy <cbrowy@avery-design.com>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Michael Roth <michael.roth@amd.com>, Konstantin Kostiuk <kkostiuk@redhat.com>, Taylor Simpson <tsimpson@quicinc.com>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, Chris Wulff <crwulff@gmail.com>, Marek Vasut <marex@denx.de>, Palmer Dabbelt <palmer@dabbelt.com>, Bin Meng <bin.meng@windriver.com>, Stefan Weil <sw@weilnetz.de>
There is a newer version of this series
backends/tpm/tpm_ioctl.h          |  2 --
bsd-user/bsd-proc.h               |  4 ----
bsd-user/qemu.h                   |  1 -
crypto/block-luks-priv.h          |  1 -
fsdev/p9array.h                   |  2 --
include/block/graph-lock.h        |  1 -
include/block/write-threshold.h   |  2 --
include/hw/arm/fsl-imx6ul.h       |  1 -
include/hw/arm/fsl-imx7.h         |  1 -
include/hw/cxl/cxl_component.h    |  2 --
include/hw/cxl/cxl_host.h         |  1 -
include/hw/cxl/cxl_pci.h          |  1 -
include/hw/input/pl050.h          |  1 -
include/hw/misc/aspeed_lpc.h      |  2 --
include/hw/pci/pcie_doe.h         |  1 -
include/hw/tricore/triboard.h     |  1 -
include/qemu/async-teardown.h     |  2 --
include/qemu/dbus.h               |  1 -
include/qemu/host-utils.h         |  1 -
include/qemu/userfaultfd.h        |  1 -
include/sysemu/accel-blocker.h    |  1 -
include/sysemu/event-loop-base.h  |  1 -
net/vmnet_int.h                   |  1 -
qga/cutils.h                      |  2 --
target/hexagon/hex_arch_types.h   |  1 -
target/hexagon/mmvec/macros.h     |  1 -
target/riscv/pmu.h                |  1 -
accel/tcg/cpu-exec.c              |  1 -
audio/sndioaudio.c                |  2 +-
backends/hostmem-epc.c            |  2 +-
backends/tpm/tpm_emulator.c       |  1 -
block/export/vduse-blk.c          |  2 +-
block/qapi.c                      |  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/i386/target_arch_cpu.c   |  3 +--
bsd-user/main.c                   |  4 +---
bsd-user/strace.c                 |  1 -
bsd-user/x86_64/signal.c          |  1 +
bsd-user/x86_64/target_arch_cpu.c |  3 +--
hw/9pfs/9p.c                      |  5 -----
hw/acpi/piix4.c                   |  1 -
hw/alpha/dp264.c                  |  1 -
hw/arm/virt.c                     |  1 -
hw/arm/xlnx-versal.c              |  1 -
hw/block/pflash_cfi01.c           |  1 -
hw/core/machine.c                 |  1 -
hw/display/virtio-gpu-udmabuf.c   |  1 -
hw/hppa/machine.c                 |  1 -
hw/hyperv/syndbg.c                |  2 +-
hw/i2c/pmbus_device.c             |  1 -
hw/i386/acpi-build.c              |  1 -
hw/input/tsc210x.c                |  1 -
hw/loongarch/acpi-build.c         |  1 -
hw/misc/macio/cuda.c              |  1 -
hw/misc/macio/pmu.c               |  1 -
hw/net/xilinx_axienet.c           |  1 -
hw/ppc/ppc405_uc.c                |  2 --
hw/ppc/ppc440_bamboo.c            |  1 -
hw/ppc/spapr_drc.c                |  1 -
hw/rdma/vmw/pvrdma_dev_ring.c     |  1 -
hw/remote/machine.c               |  1 -
hw/remote/proxy-memory-listener.c |  1 -
hw/remote/remote-obj.c            |  1 -
hw/rtc/mc146818rtc.c              |  1 -
hw/s390x/virtio-ccw-serial.c      |  1 -
hw/sensor/adm1272.c               |  1 -
hw/usb/dev-storage-bot.c          |  1 -
hw/usb/dev-storage-classic.c      |  1 -
migration/postcopy-ram.c          |  2 --
qga/commands-posix.c              |  1 -
qga/cutils.c                      |  3 ++-
softmmu/dirtylimit.c              |  1 -
softmmu/runstate.c                |  1 -
softmmu/vl.c                      |  3 ---
target/loongarch/translate.c      |  1 -
target/mips/tcg/translate.c       |  1 -
target/nios2/translate.c          |  2 --
tcg/tci.c                         |  1 -
tests/unit/test-cutils.c          |  1 -
tests/unit/test-seccomp.c         |  1 -
ui/gtk.c                          |  1 -
ui/udmabuf.c                      |  1 -
util/async-teardown.c             | 12 ++++--------
util/main-loop.c                  |  1 -
util/oslib-posix.c                |  6 ------
scripts/clean-includes            | 19 ++++++++++++-------
89 files changed, 31 insertions(+), 125 deletions(-)
[PATCH v5 00/20] Clean up includes
Posted by Markus Armbruster 1 year, 2 months ago
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 violations of rule 2.  I may have split patches too
aggressively.  Let me know if you want some squashed together.

v4:
* PATCH 01+02: Commit message Fixes: format adjusted [Michael]
* PATCH 04: New [David]
* PATCH 05-16: Commit messages updated for PATCH 04

v4:
* PATCH 01-03: New
* PATCH 04-15: Previous version redone with scripts/clean-includes,
  	       result split up for review
* PATCH 16-19: New

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 (20):
  scripts/clean-includes: Fully skip / ignore files
  scripts/clean-includes: Don't claim duplicate headers found when not
  scripts/clean-includes: Skip symbolic links
  scripts/clean-includes: Improve --git commit message
  bsd-user: Clean up includes
  crypto: Clean up includes
  hw/cxl: Clean up includes
  hw/input: Clean up includes
  hw/tricore: Clean up includes
  qga: Clean up includes
  migration: Clean up includes
  net: Clean up includes
  target/hexagon: Clean up includes
  riscv: Clean up includes
  block: Clean up includes
  accel: Clean up includes
  Fix non-first inclusions of qemu/osdep.h
  Don't include headers already included by qemu/osdep.h
  9p: Drop superfluous include of linux/limits.h
  Drop duplicate #include

 backends/tpm/tpm_ioctl.h          |  2 --
 bsd-user/bsd-proc.h               |  4 ----
 bsd-user/qemu.h                   |  1 -
 crypto/block-luks-priv.h          |  1 -
 fsdev/p9array.h                   |  2 --
 include/block/graph-lock.h        |  1 -
 include/block/write-threshold.h   |  2 --
 include/hw/arm/fsl-imx6ul.h       |  1 -
 include/hw/arm/fsl-imx7.h         |  1 -
 include/hw/cxl/cxl_component.h    |  2 --
 include/hw/cxl/cxl_host.h         |  1 -
 include/hw/cxl/cxl_pci.h          |  1 -
 include/hw/input/pl050.h          |  1 -
 include/hw/misc/aspeed_lpc.h      |  2 --
 include/hw/pci/pcie_doe.h         |  1 -
 include/hw/tricore/triboard.h     |  1 -
 include/qemu/async-teardown.h     |  2 --
 include/qemu/dbus.h               |  1 -
 include/qemu/host-utils.h         |  1 -
 include/qemu/userfaultfd.h        |  1 -
 include/sysemu/accel-blocker.h    |  1 -
 include/sysemu/event-loop-base.h  |  1 -
 net/vmnet_int.h                   |  1 -
 qga/cutils.h                      |  2 --
 target/hexagon/hex_arch_types.h   |  1 -
 target/hexagon/mmvec/macros.h     |  1 -
 target/riscv/pmu.h                |  1 -
 accel/tcg/cpu-exec.c              |  1 -
 audio/sndioaudio.c                |  2 +-
 backends/hostmem-epc.c            |  2 +-
 backends/tpm/tpm_emulator.c       |  1 -
 block/export/vduse-blk.c          |  2 +-
 block/qapi.c                      |  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/i386/target_arch_cpu.c   |  3 +--
 bsd-user/main.c                   |  4 +---
 bsd-user/strace.c                 |  1 -
 bsd-user/x86_64/signal.c          |  1 +
 bsd-user/x86_64/target_arch_cpu.c |  3 +--
 hw/9pfs/9p.c                      |  5 -----
 hw/acpi/piix4.c                   |  1 -
 hw/alpha/dp264.c                  |  1 -
 hw/arm/virt.c                     |  1 -
 hw/arm/xlnx-versal.c              |  1 -
 hw/block/pflash_cfi01.c           |  1 -
 hw/core/machine.c                 |  1 -
 hw/display/virtio-gpu-udmabuf.c   |  1 -
 hw/hppa/machine.c                 |  1 -
 hw/hyperv/syndbg.c                |  2 +-
 hw/i2c/pmbus_device.c             |  1 -
 hw/i386/acpi-build.c              |  1 -
 hw/input/tsc210x.c                |  1 -
 hw/loongarch/acpi-build.c         |  1 -
 hw/misc/macio/cuda.c              |  1 -
 hw/misc/macio/pmu.c               |  1 -
 hw/net/xilinx_axienet.c           |  1 -
 hw/ppc/ppc405_uc.c                |  2 --
 hw/ppc/ppc440_bamboo.c            |  1 -
 hw/ppc/spapr_drc.c                |  1 -
 hw/rdma/vmw/pvrdma_dev_ring.c     |  1 -
 hw/remote/machine.c               |  1 -
 hw/remote/proxy-memory-listener.c |  1 -
 hw/remote/remote-obj.c            |  1 -
 hw/rtc/mc146818rtc.c              |  1 -
 hw/s390x/virtio-ccw-serial.c      |  1 -
 hw/sensor/adm1272.c               |  1 -
 hw/usb/dev-storage-bot.c          |  1 -
 hw/usb/dev-storage-classic.c      |  1 -
 migration/postcopy-ram.c          |  2 --
 qga/commands-posix.c              |  1 -
 qga/cutils.c                      |  3 ++-
 softmmu/dirtylimit.c              |  1 -
 softmmu/runstate.c                |  1 -
 softmmu/vl.c                      |  3 ---
 target/loongarch/translate.c      |  1 -
 target/mips/tcg/translate.c       |  1 -
 target/nios2/translate.c          |  2 --
 tcg/tci.c                         |  1 -
 tests/unit/test-cutils.c          |  1 -
 tests/unit/test-seccomp.c         |  1 -
 ui/gtk.c                          |  1 -
 ui/udmabuf.c                      |  1 -
 util/async-teardown.c             | 12 ++++--------
 util/main-loop.c                  |  1 -
 util/oslib-posix.c                |  6 ------
 scripts/clean-includes            | 19 ++++++++++++-------
 89 files changed, 31 insertions(+), 125 deletions(-)

-- 
2.39.0