Eric Blake <ebl...@redhat.com> writes: > On 8/7/19 8:04 AM, Philippe Mathieu-Daudé wrote: >> On 8/6/19 5:14 PM, Markus Armbruster wrote: >>> 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. >>> > >>> /* >>> * Function types >>> */ >>> typedef void SaveStateHandler(QEMUFile *f, void *opaque); >>> typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); >>> +typedef void (*qemu_irq_handler)(void *opaque, int n, int level); > > Should we prefer a consistent form for function pointer typedefs? Here, > we've mixed 'rettype Name(params)' with 'rettype (*name)(params)'.
Which of the two difference I can see do you mean? CamelCase vs. lower_case_with_underscore? Parenthesis around the type name? I wouldn't call that inconsistent, we simply use parenthesis only when needed.