All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: "Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v4 11/29] typedefs: Separate incomplete types and function types
Date: Tue, 13 Aug 2019 13:16:11 +0200	[thread overview]
Message-ID: <87mugd71tw.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <875zn1ny4o.fsf@linaro.org> ("Alex Bennée"'s message of "Tue, 13 Aug 2019 11:44:07 +0100")

Alex Bennée <alex.bennee@linaro.org> writes:

> Markus Armbruster <armbru@redhat.com> writes:
>
>> Markus Armbruster <armbru@redhat.com> writes:
>>
>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>
>>>> Markus Armbruster <armbru@redhat.com> writes:
>>>>
>>>>> While there, drop the obsolete file comment.
>>>>>
>>>>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>>>>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>>> ---
>>>>>  include/qemu/typedefs.h | 12 ++++++++----
>>>>>  1 file changed, 8 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
>>>>> index fcdaae58c4..29346648d4 100644
>>>>> --- a/include/qemu/typedefs.h
>>>>> +++ b/include/qemu/typedefs.h
>>>>> @@ -1,10 +1,10 @@
>>>>>  #ifndef QEMU_TYPEDEFS_H
>>>>>  #define QEMU_TYPEDEFS_H
>>>>>
>>>>> -/* A load of opaque types so that device init declarations don't have to
>>>>> -   pull in all the real definitions.  */
>>>>> -
>>>>> -/* Please keep this list in case-insensitive alphabetical order */
>>>>> +/*
>>>>> + * Incomplete struct types
>>>>
>>>> Maybe expand this a little...
>>>>
>>>>   "Incomplete struct types for modules that don't need the complete
>>>>   definitions but still pass around typed variables."?
>>>
>>> If we explain proper use of qemu/typedefs.h in HACKING, as discussed in
>>> review of v1[*], we could point there.
>>
>> Perhaps rewriting the obsolete file comment would be better.  Something
>> like this:
>>
>>     /*
>>      * This header is for selectively avoiding #include just to get a
>>      * typedef name.
>>      *
>>      * Declaring a typedef name in its "obvious" place can result in
>>      * inclusion cycles, in particular for complete struct and union
>>      * types that need more types for their members.  It can also result
>>      * in headers pulling in many more headers, slowing down builds.
>>      *
>>      * You can break such cycles and unwanted dependencies by declaring
>>      * the typedef name here.
>>      *
>>      * For struct types used in only a few headers, judicious use of the
>>      * struct tag instead of the typedef name is commonly preferable.
>>      */
>>
>>     /*
>>      * Incomplete struct types
>>      * Please keep this list in case-insensitive alphabetical order.
>>      */
>>     typedef struct AdapterInfo AdapterInfo;
>>     [...]
>>
>>     /*
>>      * Pointer types
>>      * Such typedefs should be limited to cases where the typedef's users
>>      * are oblivious of its "pointer-ness".
>>      * Please keep this list in case-insensitive alphabetical order.
>>      */
>>     typedef struct IRQState *qemu_irq;
>>
>>     /*
>>      * 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);
>>
>> What do you think?
>
> A definite improvement on what is currently there ;-)

Amending my commit.  Thanks!


  reply	other threads:[~2019-08-13 11:16 UTC|newest]

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

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=87mugd71tw.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=philmd@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.