All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH v3 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h
Date: Fri,  9 Aug 2019 08:46:44 +0200	[thread overview]
Message-ID: <20190809064645.22656-29-armbru@redhat.com> (raw)
In-Reply-To: <20190809064645.22656-1-armbru@redhat.com>

In my "build everything" tree, changing sysemu/sysemu.h triggers a
recompile of some 1800 out of 6600 objects (not counting tests and
objects that don't depend on qemu/osdep.h, down from 5400 due to the
previous commit).

Several headers include sysemu/sysemu.h just to get typedef
VMChangeStateEntry.  Move it from sysemu/sysemu.h to qemu/typedefs.h.
Spell its structure tag the same while there.  Drop the now
superfluous includes of sysemu/sysemu.h from headers.

Touching sysemu/sysemu.h now recompiles some 1100 objects.
qemu/uuid.h also drops from 1800 to 1100, and
qapi/qapi-types-run-state.h from 5000 to 4400.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/block/vhost-user-blk.c   | 1 +
 hw/block/virtio-blk.c       | 1 +
 hw/display/virtio-gpu.c     | 1 +
 hw/misc/macio/macio.c       | 1 +
 hw/net/virtio-net.c         | 1 +
 hw/s390x/s390-ccw.c         | 1 +
 hw/s390x/s390-virtio-ccw.c  | 1 +
 hw/scsi/scsi-bus.c          | 1 +
 hw/scsi/vhost-scsi.c        | 1 +
 hw/scsi/vhost-user-scsi.c   | 1 +
 hw/usb/hcd-ehci.c           | 1 +
 hw/usb/hcd-ehci.h           | 1 -
 hw/virtio/virtio-rng.c      | 1 +
 hw/virtio/virtio.c          | 1 +
 include/hw/ide/internal.h   | 3 ++-
 include/hw/ppc/spapr_xive.h | 1 -
 include/hw/scsi/scsi.h      | 1 -
 include/hw/virtio/virtio.h  | 1 -
 include/qemu/typedefs.h     | 1 +
 include/sysemu/sysemu.h     | 1 -
 vl.c                        | 6 +++---
 21 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
index 7b44cca6d9..6b6cd07362 100644
--- a/hw/block/vhost-user-blk.c
+++ b/hw/block/vhost-user-blk.c
@@ -28,6 +28,7 @@
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-bus.h"
 #include "hw/virtio/virtio-access.h"
+#include "sysemu/sysemu.h"
 
 static const int user_feature_bits[] = {
     VIRTIO_BLK_F_SIZE_MAX,
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
index 8cc2a232e0..78ac371eba 100644
--- a/hw/block/virtio-blk.c
+++ b/hw/block/virtio-blk.c
@@ -20,6 +20,7 @@
 #include "hw/block/block.h"
 #include "hw/qdev-properties.h"
 #include "sysemu/blockdev.h"
+#include "sysemu/sysemu.h"
 #include "hw/virtio/virtio-blk.h"
 #include "dataplane/virtio-blk.h"
 #include "scsi/constants.h"
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 6de9689a30..28e868c021 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -17,6 +17,7 @@
 #include "ui/console.h"
 #include "trace.h"
 #include "sysemu/dma.h"
+#include "sysemu/sysemu.h"
 #include "hw/virtio/virtio.h"
 #include "migration/qemu-file-types.h"
 #include "hw/virtio/virtio-gpu.h"
diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
index b59df4e3b8..50f20d8206 100644
--- a/hw/misc/macio/macio.c
+++ b/hw/misc/macio/macio.c
@@ -35,6 +35,7 @@
 #include "hw/char/escc.h"
 #include "hw/misc/macio/macio.h"
 #include "hw/intc/heathrow_pic.h"
+#include "sysemu/sysemu.h"
 #include "trace.h"
 
 /* Note: this code is strongly inspirated from the corresponding code
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 4113729fcf..9f11422337 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -31,6 +31,7 @@
 #include "hw/virtio/virtio-access.h"
 #include "migration/misc.h"
 #include "standard-headers/linux/ethtool.h"
+#include "sysemu/sysemu.h"
 #include "trace.h"
 
 #define VIRTIO_NET_VM_VERSION    11
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
index 22c6878b84..0c5a5b60bd 100644
--- a/hw/s390x/s390-ccw.c
+++ b/hw/s390x/s390-ccw.c
@@ -19,6 +19,7 @@
 #include "hw/s390x/css.h"
 #include "hw/s390x/css-bridge.h"
 #include "hw/s390x/s390-ccw.h"
+#include "sysemu/sysemu.h"
 
 IOInstEnding s390_ccw_cmd_request(SubchDev *sch)
 {
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index a543b64e56..434d933ec9 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -40,6 +40,7 @@
 #include "hw/nmi.h"
 #include "hw/qdev-properties.h"
 #include "hw/s390x/tod.h"
+#include "sysemu/sysemu.h"
 
 S390CPU *s390_cpu_addr2state(uint16_t cpu_addr)
 {
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index db785e6001..cb8e8d1f36 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -10,6 +10,7 @@
 #include "scsi/constants.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/blockdev.h"
+#include "sysemu/sysemu.h"
 #include "trace.h"
 #include "sysemu/dma.h"
 #include "qemu/cutils.h"
diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c
index cd5cf1679d..c693fc748a 100644
--- a/hw/scsi/vhost-scsi.c
+++ b/hw/scsi/vhost-scsi.c
@@ -30,6 +30,7 @@
 #include "hw/fw-path-provider.h"
 #include "hw/qdev-properties.h"
 #include "qemu/cutils.h"
+#include "sysemu/sysemu.h"
 
 /* Features supported by host kernel. */
 static const int kernel_feature_bits[] = {
diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c
index a5be128b54..31c9d34637 100644
--- a/hw/scsi/vhost-user-scsi.c
+++ b/hw/scsi/vhost-user-scsi.c
@@ -28,6 +28,7 @@
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-access.h"
 #include "chardev/char-fe.h"
+#include "sysemu/sysemu.h"
 
 /* Features supported by the host application */
 static const int user_feature_bits[] = {
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index d7d1ecd45d..e76c939751 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -35,6 +35,7 @@
 #include "trace.h"
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
+#include "sysemu/sysemu.h"
 
 #define FRAME_TIMER_FREQ 1000
 #define FRAME_TIMER_NS   (NANOSECONDS_PER_SECOND / FRAME_TIMER_FREQ)
diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
index fdbcfdcbeb..0298238f0b 100644
--- a/hw/usb/hcd-ehci.h
+++ b/hw/usb/hcd-ehci.h
@@ -21,7 +21,6 @@
 #include "qemu/timer.h"
 #include "hw/usb.h"
 #include "sysemu/dma.h"
-#include "sysemu/sysemu.h"
 #include "hw/pci/pci.h"
 #include "hw/sysbus.h"
 
diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c
index 34b4619fd3..c9c2414b7b 100644
--- a/hw/virtio/virtio-rng.c
+++ b/hw/virtio/virtio-rng.c
@@ -17,6 +17,7 @@
 #include "hw/qdev-properties.h"
 #include "hw/virtio/virtio-rng.h"
 #include "sysemu/rng.h"
+#include "sysemu/sysemu.h"
 #include "qom/object_interfaces.h"
 #include "trace.h"
 
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 721dcccc96..0ce142bc04 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -26,6 +26,7 @@
 #include "hw/qdev-properties.h"
 #include "hw/virtio/virtio-access.h"
 #include "sysemu/dma.h"
+#include "sysemu/sysemu.h"
 
 /*
  * The alignment to use between consumer and producer parts of vring.
diff --git a/include/hw/ide/internal.h b/include/hw/ide/internal.h
index c6954c1d56..52ec197da0 100644
--- a/include/hw/ide/internal.h
+++ b/include/hw/ide/internal.h
@@ -6,11 +6,12 @@
  * only files in hw/ide/ are supposed to include this file.
  * non-internal declarations are in hw/ide.h
  */
+
+#include "qapi/qapi-types-run-state.h"
 #include "hw/ide.h"
 #include "hw/irq.h"
 #include "hw/isa/isa.h"
 #include "sysemu/dma.h"
-#include "sysemu/sysemu.h"
 #include "hw/block/block.h"
 #include "scsi/constants.h"
 
diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h
index a39e672f27..bfd40f01d8 100644
--- a/include/hw/ppc/spapr_xive.h
+++ b/include/hw/ppc/spapr_xive.h
@@ -12,7 +12,6 @@
 
 #include "hw/ppc/spapr_irq.h"
 #include "hw/ppc/xive.h"
-#include "sysemu/sysemu.h"
 
 #define TYPE_SPAPR_XIVE "spapr-xive"
 #define SPAPR_XIVE(obj) OBJECT_CHECK(SpaprXive, (obj), TYPE_SPAPR_XIVE)
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
index 2bfaad0fe9..d77a92361b 100644
--- a/include/hw/scsi/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -4,7 +4,6 @@
 #include "block/aio.h"
 #include "hw/block/block.h"
 #include "hw/qdev-core.h"
-#include "sysemu/sysemu.h"
 #include "scsi/utils.h"
 #include "qemu/notify.h"
 
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index df40a46d60..48e8d04ff6 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -17,7 +17,6 @@
 #include "exec/memory.h"
 #include "hw/qdev-core.h"
 #include "net/net.h"
-#include "sysemu/sysemu.h"
 #include "migration/vmstate.h"
 #include "qemu/event_notifier.h"
 #include "standard-headers/linux/virtio_config.h"
diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index f569f5f270..3fcdde8bfc 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -102,6 +102,7 @@ typedef struct SHPCDevice SHPCDevice;
 typedef struct SSIBus SSIBus;
 typedef struct VirtIODevice VirtIODevice;
 typedef struct Visitor Visitor;
+typedef struct VMChangeStateEntry VMChangeStateEntry;
 typedef struct VMStateDescription VMStateDescription;
 
 /*
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 908f158677..7606eaaf2a 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -22,7 +22,6 @@ void runstate_set(RunState new_state);
 int runstate_is_running(void);
 bool runstate_needs_reset(void);
 bool runstate_store(char *str, size_t size);
-typedef struct vm_change_state_entry VMChangeStateEntry;
 typedef void VMChangeStateHandler(void *opaque, int running, RunState state);
 
 VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler *cb,
diff --git a/vl.c b/vl.c
index 08ef28f100..9dbbce4ce3 100644
--- a/vl.c
+++ b/vl.c
@@ -1362,14 +1362,14 @@ static int machine_help_func(QemuOpts *opts, MachineState *machine)
     return 1;
 }
 
-struct vm_change_state_entry {
+struct VMChangeStateEntry {
     VMChangeStateHandler *cb;
     void *opaque;
-    QTAILQ_ENTRY(vm_change_state_entry) entries;
+    QTAILQ_ENTRY(VMChangeStateEntry) entries;
     int priority;
 };
 
-static QTAILQ_HEAD(, vm_change_state_entry) vm_change_state_head;
+static QTAILQ_HEAD(, VMChangeStateEntry) vm_change_state_head;
 
 /**
  * qemu_add_vm_change_state_handler_prio:
-- 
2.21.0



  parent reply	other threads:[~2019-08-09  6:53 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-09  6:46 [Qemu-devel] [PATCH v3 00/29] Tame a few "touch this, recompile the world" headers Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 01/29] include: Make headers more self-contained Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 02/29] Include generated QAPI headers less Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 03/29] qapi: Split error.json off common.json Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 04/29] memory: Fix type of IOMMUMemoryRegionClass member @parent_class Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 05/29] queue: Drop superfluous #include qemu/atomic.h Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 06/29] trace: Eliminate use of TARGET_FMT_plx Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 07/29] trace: Do not include qom/cpu.h into generated trace.h Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 08/29] Include sysemu/reset.h a lot less Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 09/29] Include migration/qemu-file-types.h " Markus Armbruster
2019-08-09  9:58   ` Philippe Mathieu-Daudé
2019-08-09 11:48     ` Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 10/29] ide: Include hw/ide/internal a bit less outside hw/ide/ Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 11/29] typedefs: Separate incomplete types and function types Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 12/29] Include hw/irq.h a lot less Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 13/29] Clean up inclusion of exec/cpu-common.h Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 14/29] migration: Move the VMStateDescription typedef to typedefs.h Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 15/29] Include migration/vmstate.h less Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 16/29] Include exec/memory.h slightly less Markus Armbruster
2019-08-09 10:03   ` Philippe Mathieu-Daudé
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 17/29] Include qom/object.h " Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 18/29] Include hw/hw.h exactly where needed Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 19/29] Include qemu/queue.h slightly less Markus Armbruster
2019-08-09 10:05   ` Philippe Mathieu-Daudé
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 20/29] Include qemu/main-loop.h less Markus Armbruster
2019-08-09  9:42   ` Philippe Mathieu-Daudé
2019-08-09 10:10     ` Philippe Mathieu-Daudé
2019-08-09 10:29     ` Philippe Mathieu-Daudé
2019-08-09 10:36       ` Philippe Mathieu-Daudé
2019-08-09 11:55     ` Markus Armbruster
2019-08-09 12:29       ` Philippe Mathieu-Daudé
2019-08-09 16:00       ` Alex Bennée
2019-08-10 19:34         ` Markus Armbruster
2019-08-12 12:49           ` Philippe Mathieu-Daudé
2019-08-15 12:55           ` [Qemu-devel] Running docker cross-tests with SELinux (was: Re: [PATCH v3 20/29] Include qemu/main-loop.h less) Philippe Mathieu-Daudé
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 21/29] Include hw/qdev-properties.h less Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 22/29] Include hw/boards.h a bit less Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 23/29] numa: Don't include hw/boards.h into sysemu/numa.h Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 24/29] Include sysemu/hostmem.h less Markus Armbruster
2019-08-09 10:39   ` Philippe Mathieu-Daudé
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 25/29] numa: Move remaining NUMA declarations from sysemu.h to numa.h Markus Armbruster
2019-08-09 10:53   ` Philippe Mathieu-Daudé
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 26/29] Clean up inclusion of sysemu/sysemu.h Markus Armbruster
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 27/29] Include sysemu/sysemu.h a lot less Markus Armbruster
2019-08-09  6:46 ` Markus Armbruster [this message]
2019-08-09  6:46 ` [Qemu-devel] [PATCH v3 29/29] sysemu: Split sysemu/runstate.h off sysemu/sysemu.h Markus Armbruster
2019-08-09 10:40 ` [Qemu-devel] [PATCH v3 00/29] Tame a few "touch this, recompile the world" headers no-reply
2019-08-09 16:12 ` Philippe Mathieu-Daudé
2019-08-10 17:01   ` Markus Armbruster

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=20190809064645.22656-29-armbru@redhat.com \
    --to=armbru@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.