On 18/11/2020 15.30, Peter Maydell wrote:
> On Wed, 18 Nov 2020 at 14:24, Markus Armbruster <arm...@redhat.com> wrote:
>>
>> Philippe Mathieu-Daudé <phi...@redhat.com> writes:
>>
>>> On 11/18/20 10:03 AM, Thomas Huth wrote:
>>>> Both headers, sysbus.h and module.h, are not required to compile this file.
>>
>> module.h is: it defines type_init().
> 
>>>>  #include "qemu/timer.h"
>>>>  #include "hw/watchdog/wdt_diag288.h"
>>>>  #include "migration/vmstate.h"
>>>>  #include "qemu/log.h"
>>>> -#include "qemu/module.h"
>>>
>>> Cc'ing Markus because of:
> 
>>>     Include qemu/module.h where needed, drop it from qemu-common.h
>>
>> If it still compiles and links, it must get it via some other header.
> 
> Yes: wdt_diag288.c -> include/hw/watchdog/wdt_diag288.h ->
>  include/qom/object.h -> include/qemu/module.h

So what's now our expectation here? Should every file that uses type_init()
also include module.h ? That's IMHO not very intuitive...
Or are we fine that type_init() is provided by qom/object.h which needs to
be pulled in by every device sooner or later anyway?

 Thomas


Reply via email to