On 2019-01-15 13:28, Markus Armbruster wrote: > Philippe Mathieu-Daudé <[email protected]> writes: > >> From: Philippe Mathieu-Daudé <[email protected]> >> >> There are only three files requiring this typedef, let them >> include "hw/ssi/ssi.h" directly to simplify "qemu/typedefs.h". >> >> To clean "qemu/typedefs.h", move the forward declaration >> to "hw/ssi/ssi.h". >> >> Signed-off-by: Philippe Mathieu-Daudé <[email protected]> >> --- >> hw/arm/strongarm.h | 1 + >> include/hw/arm/pxa.h | 1 + >> include/hw/ssi/pl022.h | 1 + >> include/hw/ssi/ssi.h | 1 + >> include/qemu/typedefs.h | 1 - >> 5 files changed, 4 insertions(+), 1 deletion(-) > > When typedefs.h changes, we recompile the world, but it pretty much only > ever changes when new typedefs are added. Thus, *keeping* a typedef > there is therefore pretty cheap. > > Nevertheless, we shouldn't keep typedefs there without a real reason. > Being able to move one away without having to add any new #include > directives is a strong sign for "no real reason". I like patches doing > that. > > What I don't like is adding #include directives just so you can move > typedefs out of typedefs.h: it slows down the build. Granted, the four > added by this patch are a drop in the bucket. The point I'm trying to > make is typedefs.h's purpose: it's for avoiding #include directives. > Circular ones in particular, but others, too.
Yes, agreed, removing things from typedefs.h just to add lots of #includes in other files is not really the best idea. I also dropped this patch in v2 of my current PULL request because of this reason. Phil, I suggest to simply drop this patch. What we maybe could do is to split up typedefs.h per subsystem, so that we additionally have a hw/arm/typedefs.h, hw/ppc/typedefs.h etc. in the end, then the target-specific typedefs would not clutter the common qemu/typedefs.h file anymore. Thomas
