From 64552b6be4758d3a774f7787b294543ccebd5358 Mon Sep 17 00:00:00 2001
From: Markus Armbruster <armbru@redhat.com>
Date: Mon, 12 Aug 2019 07:23:42 +0200
Subject: Include hw/irq.h a lot less
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In my "build everything" tree, changing hw/irq.h triggers a recompile
of some 5400 out of 6600 objects (not counting tests and objects that
don't depend on qemu/osdep.h).

hw/hw.h supposedly includes it for convenience.  Several other headers
include it just to get qemu_irq and.or qemu_irq_handler.

Move the qemu_irq and qemu_irq_handler typedefs from hw/irq.h to
qemu/typedefs.h, and then include hw/irq.h only where it's still
needed.  Touching it now recompiles only some 500 objects.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190812052359.30071-13-armbru@redhat.com>
---
 hw/net/allwinner_emac.c       | 1 +
 hw/net/cadence_gem.c          | 1 +
 hw/net/can/can_kvaser_pci.c   | 1 +
 hw/net/can/can_mioe3680_pci.c | 1 +
 hw/net/can/can_pcm3680_pci.c  | 1 +
 hw/net/can/can_sja1000.c      | 2 ++
 hw/net/dp8393x.c              | 1 +
 hw/net/fsl_etsec/etsec.c      | 1 +
 hw/net/ftgmac100.c            | 1 +
 hw/net/imx_fec.c              | 1 +
 hw/net/lan9118.c              | 1 +
 hw/net/mcf_fec.c              | 1 +
 hw/net/milkymist-minimac2.c   | 1 +
 hw/net/mipsnet.c              | 1 +
 hw/net/ne2000-pci.c           | 2 ++
 hw/net/ne2000.c               | 1 +
 hw/net/opencores_eth.c        | 1 +
 hw/net/pcnet-pci.c            | 1 +
 hw/net/pcnet.c                | 1 +
 hw/net/smc91c111.c            | 1 +
 hw/net/spapr_llan.c           | 1 +
 hw/net/stellaris_enet.c       | 1 +
 hw/net/xgmac.c                | 1 +
 hw/net/xilinx_axienet.c       | 1 +
 hw/net/xilinx_ethlite.c       | 1 +
 25 files changed, 27 insertions(+)

(limited to 'hw/net')

diff --git a/hw/net/allwinner_emac.c b/hw/net/allwinner_emac.c
index eecda52..dad25bd 100644
--- a/hw/net/allwinner_emac.c
+++ b/hw/net/allwinner_emac.c
@@ -21,6 +21,7 @@
 #include "hw/sysbus.h"
 #include "net/net.h"
 #include "qemu/fifo8.h"
+#include "hw/irq.h"
 #include "hw/net/allwinner_emac.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index d412085..f4e4a4d 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -25,6 +25,7 @@
 #include "qemu/osdep.h"
 #include <zlib.h> /* For crc32 */
 
+#include "hw/irq.h"
 #include "hw/net/cadence_gem.h"
 #include "qapi/error.h"
 #include "qemu/log.h"
diff --git a/hw/net/can/can_kvaser_pci.c b/hw/net/can/can_kvaser_pci.c
index df639f8..3b8e38e 100644
--- a/hw/net/can/can_kvaser_pci.c
+++ b/hw/net/can/can_kvaser_pci.c
@@ -37,6 +37,7 @@
 #include "qapi/error.h"
 #include "chardev/char.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "net/can_emu.h"
 
diff --git a/hw/net/can/can_mioe3680_pci.c b/hw/net/can/can_mioe3680_pci.c
index 7af0993..c09ae69 100644
--- a/hw/net/can/can_mioe3680_pci.c
+++ b/hw/net/can/can_mioe3680_pci.c
@@ -33,6 +33,7 @@
 #include "qapi/error.h"
 #include "chardev/char.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "net/can_emu.h"
 
diff --git a/hw/net/can/can_pcm3680_pci.c b/hw/net/can/can_pcm3680_pci.c
index 3f7312a..843a76c 100644
--- a/hw/net/can/can_pcm3680_pci.c
+++ b/hw/net/can/can_pcm3680_pci.c
@@ -33,6 +33,7 @@
 #include "qapi/error.h"
 #include "chardev/char.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "net/can_emu.h"
 
diff --git a/hw/net/can/can_sja1000.c b/hw/net/can/can_sja1000.c
index 9a85038..ee079d3 100644
--- a/hw/net/can/can_sja1000.c
+++ b/hw/net/can/can_sja1000.c
@@ -24,10 +24,12 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
 #include "qemu/log.h"
 #include "chardev/char.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "net/can_emu.h"
 
 #include "can_sja1000.h"
diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
index bdb0b3b..70a78ad 100644
--- a/hw/net/dp8393x.c
+++ b/hw/net/dp8393x.c
@@ -18,6 +18,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "hw/irq.h"
 #include "hw/sysbus.h"
 #include "net/net.h"
 #include "qapi/error.h"
diff --git a/hw/net/fsl_etsec/etsec.c b/hw/net/fsl_etsec/etsec.c
index 2a8b99a..e217238 100644
--- a/hw/net/fsl_etsec/etsec.c
+++ b/hw/net/fsl_etsec/etsec.c
@@ -29,6 +29,7 @@
 #include "qemu/osdep.h"
 #include "sysemu/sysemu.h"
 #include "hw/sysbus.h"
+#include "hw/irq.h"
 #include "hw/ptimer.h"
 #include "etsec.h"
 #include "registers.h"
diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c
index d2cded5..2848bff 100644
--- a/hw/net/ftgmac100.c
+++ b/hw/net/ftgmac100.c
@@ -12,6 +12,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "hw/irq.h"
 #include "hw/net/ftgmac100.h"
 #include "sysemu/dma.h"
 #include "qemu/log.h"
diff --git a/hw/net/imx_fec.c b/hw/net/imx_fec.c
index 404154e..fe9d902 100644
--- a/hw/net/imx_fec.c
+++ b/hw/net/imx_fec.c
@@ -22,6 +22,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "hw/irq.h"
 #include "hw/net/imx_fec.h"
 #include "sysemu/dma.h"
 #include "qemu/log.h"
diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
index f6120be..e2da54c 100644
--- a/hw/net/lan9118.c
+++ b/hw/net/lan9118.c
@@ -14,6 +14,7 @@
 #include "hw/sysbus.h"
 #include "net/net.h"
 #include "net/eth.h"
+#include "hw/irq.h"
 #include "hw/net/lan9118.h"
 #include "sysemu/sysemu.h"
 #include "hw/ptimer.h"
diff --git a/hw/net/mcf_fec.c b/hw/net/mcf_fec.c
index 78468fa..e4a3b55 100644
--- a/hw/net/mcf_fec.c
+++ b/hw/net/mcf_fec.c
@@ -8,6 +8,7 @@
 
 #include "qemu/osdep.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "net/net.h"
 #include "qemu/module.h"
 #include "hw/m68k/mcf.h"
diff --git a/hw/net/milkymist-minimac2.c b/hw/net/milkymist-minimac2.c
index 41ef7a4..bad1066 100644
--- a/hw/net/milkymist-minimac2.c
+++ b/hw/net/milkymist-minimac2.c
@@ -26,6 +26,7 @@
 #include "qapi/error.h"
 #include "cpu.h" /* FIXME: why does this use TARGET_PAGE_ALIGN? */
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "hw/sysbus.h"
 #include "trace.h"
 #include "net/net.h"
diff --git a/hw/net/mipsnet.c b/hw/net/mipsnet.c
index c5fbd84..007c94a 100644
--- a/hw/net/mipsnet.c
+++ b/hw/net/mipsnet.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "net/net.h"
 #include "qemu/module.h"
 #include "trace.h"
diff --git a/hw/net/ne2000-pci.c b/hw/net/ne2000-pci.c
index cb05744..4f28e31 100644
--- a/hw/net/ne2000-pci.c
+++ b/hw/net/ne2000-pci.c
@@ -21,7 +21,9 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+
 #include "qemu/osdep.h"
+#include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "ne2000.h"
 #include "sysemu/sysemu.h"
diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 1cf4b57..4b9231c 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -25,6 +25,7 @@
 #include "qemu/osdep.h"
 #include "net/eth.h"
 #include "qemu/module.h"
+#include "hw/irq.h"
 #include "ne2000.h"
 #include "sysemu/sysemu.h"
 #include "trace.h"
diff --git a/hw/net/opencores_eth.c b/hw/net/opencores_eth.c
index a5abb8d..3e759d7 100644
--- a/hw/net/opencores_eth.c
+++ b/hw/net/opencores_eth.c
@@ -33,6 +33,7 @@
 
 #include "qemu/osdep.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "hw/net/mii.h"
 #include "hw/sysbus.h"
 #include "net/net.h"
diff --git a/hw/net/pcnet-pci.c b/hw/net/pcnet-pci.c
index 600d09c..df8cb66 100644
--- a/hw/net/pcnet-pci.c
+++ b/hw/net/pcnet-pci.c
@@ -28,6 +28,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "net/net.h"
 #include "qemu/module.h"
diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 1668309..f73e342 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -37,6 +37,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/log.h"
+#include "hw/irq.h"
 #include "hw/qdev.h"
 #include "net/net.h"
 #include "net/eth.h"
diff --git a/hw/net/smc91c111.c b/hw/net/smc91c111.c
index 4a612ee..f514912 100644
--- a/hw/net/smc91c111.c
+++ b/hw/net/smc91c111.c
@@ -10,6 +10,7 @@
 #include "qemu/osdep.h"
 #include "hw/sysbus.h"
 #include "net/net.h"
+#include "hw/irq.h"
 #include "hw/net/smc91c111.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c
index f162d49..1867c35 100644
--- a/hw/net/spapr_llan.c
+++ b/hw/net/spapr_llan.c
@@ -28,6 +28,7 @@
 #include "qemu/osdep.h"
 #include "cpu.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
 #include "net/net.h"
diff --git a/hw/net/stellaris_enet.c b/hw/net/stellaris_enet.c
index 2f645bf..756ac56 100644
--- a/hw/net/stellaris_enet.c
+++ b/hw/net/stellaris_enet.c
@@ -8,6 +8,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "hw/irq.h"
 #include "hw/sysbus.h"
 #include "net/net.h"
 #include "qemu/log.h"
diff --git a/hw/net/xgmac.c b/hw/net/xgmac.c
index f49df95..c2efc77 100644
--- a/hw/net/xgmac.c
+++ b/hw/net/xgmac.c
@@ -25,6 +25,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "hw/irq.h"
 #include "hw/sysbus.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c
index feeaca6..b1247a1 100644
--- a/hw/net/xilinx_axienet.c
+++ b/hw/net/xilinx_axienet.c
@@ -30,6 +30,7 @@
 #include "net/net.h"
 #include "net/checksum.h"
 
+#include "hw/irq.h"
 #include "hw/stream.h"
 
 #define DPHY(x)
diff --git a/hw/net/xilinx_ethlite.c b/hw/net/xilinx_ethlite.c
index 8f3a8f8..27a4fc8 100644
--- a/hw/net/xilinx_ethlite.c
+++ b/hw/net/xilinx_ethlite.c
@@ -27,6 +27,7 @@
 #include "cpu.h" /* FIXME should not use tswap* */
 #include "hw/sysbus.h"
 #include "hw/hw.h"
+#include "hw/irq.h"
 #include "net/net.h"
 
 #define D(x)
-- 
cgit v1.1