From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47502) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5yZw-0007tl-BE for qemu-devel@nongnu.org; Mon, 07 Dec 2015 11:23:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a5yZv-00017W-6k for qemu-devel@nongnu.org; Mon, 07 Dec 2015 11:23:56 -0500 Received: from mnementh.archaic.org.uk ([2001:8b0:1d0::1]:59056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5yZu-000159-Vr for qemu-devel@nongnu.org; Mon, 07 Dec 2015 11:23:55 -0500 From: Peter Maydell Date: Mon, 7 Dec 2015 16:23:42 +0000 Message-Id: <1449505425-32022-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH 0/3] clean-includes script to add osdep.h to everything List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Markus Armbruster , patches@linaro.org We've had some discussion previously (on list and IRC) about adding an include of "qemu/osdep.h" to everything. The basic idea is that every .c file should include "qemu/osdep.h" as its first include; then every other header (and the .c file itself) can rely on the facilities that osdep.h provides. This patchset is mostly here to get comment and review on the script I've written to do the job of automatically updating the source files. To quote the usage comment from the script: # Usage: # clean-includes [--git subjectprefix] file ... # # If the --git subjectprefix option is given, then after making # the changes to the files this script will create a git commit # with the subject line "subjectprefix: Clean up includes" # and a boilerplate commit message. The script requires Perl and Coccinelle. Patches 2 and 3 are examples of its output, produced via scripts/clean-includes --git target-arm target-arm/*.c scripts/clean-includes --git hw/arm hw/arm/*.c NB: the script assumes my patch to make osdep.h include glib-compat.h has already been applied: http://patchwork.ozlabs.org/patch/552828/ Once we're happy with the set of transformations it produces the next question is how we want to apply it to the tree. The good news is that the changes to the .c files are idempotent and don't depend on each other, so we could send things via different submaintainer trees. Or we could have a single patchseries which we apply all at once on the theory that this minimises the pain overall. (The part that will depend on these having gone in is where we update .h files to not include headers that osdep.h gives us.) A question I had about including osdep.h everywhere: are there any files in the tree where we *can't* include it? (Obvious possible candidates would be standalone test programs and the guest-agent code.) Peter Maydell (3): scripts: Add new clean-includes script to fix C include directives target-arm: Clean up includes hw/arm: Clean up includes hw/arm/allwinner-a10.c | 1 + hw/arm/armv7m.c | 1 + hw/arm/boot.c | 2 +- hw/arm/collie.c | 1 + hw/arm/cubieboard.c | 1 + hw/arm/digic.c | 1 + hw/arm/digic_boards.c | 1 + hw/arm/exynos4210.c | 1 + hw/arm/exynos4_boards.c | 1 + hw/arm/fsl-imx25.c | 1 + hw/arm/fsl-imx31.c | 1 + hw/arm/gumstix.c | 1 + hw/arm/highbank.c | 1 + hw/arm/imx25_pdk.c | 1 + hw/arm/integratorcp.c | 1 + hw/arm/kzm.c | 1 + hw/arm/mainstone.c | 1 + hw/arm/musicpal.c | 1 + hw/arm/netduino2.c | 1 + hw/arm/nseries.c | 1 + hw/arm/omap1.c | 1 + hw/arm/omap2.c | 1 + hw/arm/omap_sx1.c | 1 + hw/arm/palm.c | 1 + hw/arm/pxa2xx.c | 1 + hw/arm/pxa2xx_gpio.c | 1 + hw/arm/pxa2xx_pic.c | 1 + hw/arm/realview.c | 1 + hw/arm/spitz.c | 1 + hw/arm/stellaris.c | 1 + hw/arm/stm32f205_soc.c | 1 + hw/arm/strongarm.c | 1 + hw/arm/sysbus-fdt.c | 1 + hw/arm/tosa.c | 1 + hw/arm/versatilepb.c | 1 + hw/arm/vexpress.c | 1 + hw/arm/virt-acpi-build.c | 1 + hw/arm/virt.c | 1 + hw/arm/xilinx_zynq.c | 1 + hw/arm/xlnx-ep108.c | 1 + hw/arm/xlnx-zynqmp.c | 1 + hw/arm/z2.c | 1 + scripts/clean-includes | 109 +++++++++++++++++++++++++++++++++++++++++++++ target-arm/arm-semi.c | 8 +--- target-arm/cpu.c | 1 + target-arm/cpu64.c | 1 + target-arm/crypto_helper.c | 2 +- target-arm/gdbstub.c | 2 +- target-arm/gdbstub64.c | 2 +- target-arm/helper-a64.c | 1 + target-arm/helper.c | 1 + target-arm/iwmmxt_helper.c | 3 +- target-arm/kvm-stub.c | 1 + target-arm/kvm.c | 3 +- target-arm/kvm32.c | 3 +- target-arm/kvm64.c | 4 +- target-arm/machine.c | 1 + target-arm/neon_helper.c | 3 +- target-arm/op_helper.c | 1 + target-arm/psci.c | 1 + target-arm/translate-a64.c | 6 +-- target-arm/translate.c | 6 +-- 62 files changed, 170 insertions(+), 32 deletions(-) create mode 100755 scripts/clean-includes -- 1.9.1