All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Alistair Francis" <alistair@alistair23.me>,
	"Xiao Guangrong" <xiaoguangrong.eric@gmail.com>,
	qemu-block@nongnu.org, "Laszlo Ersek" <lersek@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org, "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Greg Kurz" <groug@kaod.org>,
	qemu-arm@nongnu.org, "Gerd Hoffmann" <kraxel@redhat.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Cédric Le Goater" <clg@kaod.org>
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH 03/15] hw/ssi: Remove SSIBus from "qemu/typedefs.h"
Date: Wed, 16 Jan 2019 09:33:06 +0100	[thread overview]
Message-ID: <87sgxtatod.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <be75e72a-9f54-c9b5-4a1f-e87e28df8ba5@redhat.com> (Paolo Bonzini's message of "Tue, 15 Jan 2019 19:02:33 +0100")

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 15/01/19 13:56, Thomas Huth wrote:
>> 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.
>
> I disagree.  The *inclusions* of target-specific typedefs.h would then
> clutter something.
>
> For the (important, mind) case of circular includes, allowing struct in
> prototypes pretty much solves the issues, and a subsystem-specific
> typedefs.h is another solution according to maintainer's discretion.
>
> In this case, however, keeping subsystems self-contained is a good
> reason to apply the patch.  Having SSIBus in typedefs.h means that the
> next SSI type has a higher chance of being added to typedefs.h even if
> it's not necessary.

typedefs.h churn appars to be a non-problem:

    $ git-log --oneline --since 'one year ago' include/qemu/typedefs.h 
    a98c370c46 typedefs: (Re-)sort entries alphabetically
    aec90730fb numa: Match struct to typedef name
    7cfda775e5 move ObjectClass to typedefs.h
    ea134caa08 typedefs: add QJSON
    201376cb9e typedefs: Remove PcGuestInfo from qemu/typedefs.h
    9f5c734d59 Typedef the subtypes of QObject in qemu/typedefs.h, too
    e70372fcaf lockable: add QemuLockable

> Sometimes we need to take patches that seem unnecessary in order to keep
> the codebase tidy.  Think of the churn that was the introduction of
> hw/SUBSYSTEM.  It was painful and it added all the complexity to the
> Makefiles in order to support recursive Makefile.objs in our
> not-that-recursive makefiles.  However, it made MAINTAINERS usable and
> now, a few years later, few of us would probably be happy to go back to
> the flat hw/ directory.

What problem exactly are we trying to solve here?

To the best of my knowledge, typedefs.h has been working just fine for
us, and I can't see why it shouldn't continue to work just fine.

WARNING: multiple messages have this Message-ID (diff)
From: Markus Armbruster <armbru@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Thomas Huth" <thuth@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Peter Crosthwaite" <crosthwaite.peter@gmail.com>,
	"Xiao Guangrong" <xiaoguangrong.eric@gmail.com>,
	qemu-block@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
	"Alistair Francis" <alistair@alistair23.me>,
	qemu-devel@nongnu.org, "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Greg Kurz" <groug@kaod.org>,
	qemu-arm@nongnu.org, "Gerd Hoffmann" <kraxel@redhat.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Laszlo Ersek" <lersek@redhat.com>,
	"Cédric Le Goater" <clg@kaod.org>
Subject: Re: [Qemu-devel] [PATCH 03/15] hw/ssi: Remove SSIBus from "qemu/typedefs.h"
Date: Wed, 16 Jan 2019 09:33:06 +0100	[thread overview]
Message-ID: <87sgxtatod.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <be75e72a-9f54-c9b5-4a1f-e87e28df8ba5@redhat.com> (Paolo Bonzini's message of "Tue, 15 Jan 2019 19:02:33 +0100")

Paolo Bonzini <pbonzini@redhat.com> writes:

> On 15/01/19 13:56, Thomas Huth wrote:
>> 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.
>
> I disagree.  The *inclusions* of target-specific typedefs.h would then
> clutter something.
>
> For the (important, mind) case of circular includes, allowing struct in
> prototypes pretty much solves the issues, and a subsystem-specific
> typedefs.h is another solution according to maintainer's discretion.
>
> In this case, however, keeping subsystems self-contained is a good
> reason to apply the patch.  Having SSIBus in typedefs.h means that the
> next SSI type has a higher chance of being added to typedefs.h even if
> it's not necessary.

typedefs.h churn appars to be a non-problem:

    $ git-log --oneline --since 'one year ago' include/qemu/typedefs.h 
    a98c370c46 typedefs: (Re-)sort entries alphabetically
    aec90730fb numa: Match struct to typedef name
    7cfda775e5 move ObjectClass to typedefs.h
    ea134caa08 typedefs: add QJSON
    201376cb9e typedefs: Remove PcGuestInfo from qemu/typedefs.h
    9f5c734d59 Typedef the subtypes of QObject in qemu/typedefs.h, too
    e70372fcaf lockable: add QemuLockable

> Sometimes we need to take patches that seem unnecessary in order to keep
> the codebase tidy.  Think of the churn that was the introduction of
> hw/SUBSYSTEM.  It was painful and it added all the complexity to the
> Makefiles in order to support recursive Makefile.objs in our
> not-that-recursive makefiles.  However, it made MAINTAINERS usable and
> now, a few years later, few of us would probably be happy to go back to
> the flat hw/ directory.

What problem exactly are we trying to solve here?

To the best of my knowledge, typedefs.h has been working just fine for
us, and I can't see why it shouldn't continue to work just fine.

  reply	other threads:[~2019-01-16  8:33 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11 14:08 [Qemu-devel] [PATCH RESEND 00/15] typedefs: Remove scarcely used declarations Philippe Mathieu-Daudé
2019-01-11 14:08 ` Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-devel] [PATCH 01/15] hw/input/ps2: Remove PS2State from "qemu/typedefs.h" Philippe Mathieu-Daudé
2019-01-11 14:08   ` Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-devel] [PATCH 02/15] hw/pcmcia: Remove PCMCIACardState " Philippe Mathieu-Daudé
2019-01-11 14:08   ` Philippe Mathieu-Daudé
2019-01-14  8:39   ` [Qemu-arm] " Thomas Huth
2019-01-14  8:39     ` [Qemu-devel] " Thomas Huth
2019-01-11 14:08 ` [Qemu-arm] [PATCH 03/15] hw/ssi: Remove SSIBus " Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-14  8:44   ` [Qemu-arm] " Thomas Huth
2019-01-14  8:44     ` [Qemu-devel] " Thomas Huth
2019-01-15 12:28   ` [Qemu-arm] " Markus Armbruster
2019-01-15 12:28     ` Markus Armbruster
2019-01-15 12:56     ` Thomas Huth
2019-01-15 12:56       ` Thomas Huth
2019-01-15 18:02       ` [Qemu-arm] " Paolo Bonzini
2019-01-15 18:02         ` Paolo Bonzini
2019-01-16  8:33         ` Markus Armbruster [this message]
2019-01-16  8:33           ` Markus Armbruster
2019-01-16 10:03           ` [Qemu-arm] " Paolo Bonzini
2019-01-16 10:03             ` Paolo Bonzini
2019-01-16 11:34             ` [Qemu-arm] " Gerd Hoffmann
2019-01-16 11:34               ` Gerd Hoffmann
2019-01-16 11:49               ` [Qemu-arm] " Paolo Bonzini
2019-01-16 11:49                 ` Paolo Bonzini
2019-01-16 14:48                 ` [Qemu-arm] " Michael S. Tsirkin
2019-01-16 14:48                   ` Michael S. Tsirkin
2019-01-17  9:01                   ` Markus Armbruster
2019-01-17  9:01                     ` Markus Armbruster
2019-01-17  9:03             ` Markus Armbruster
2019-01-17  9:03               ` Markus Armbruster
2019-01-15 17:57     ` Paolo Bonzini
2019-01-15 17:57       ` Paolo Bonzini
2019-01-16  8:32       ` [Qemu-arm] " Markus Armbruster
2019-01-16  8:32         ` Markus Armbruster
2019-01-11 14:08 ` [Qemu-arm] [PATCH 04/15] hw/ide/ahci: Remove AllwinnerAHCIState " Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-14  8:45   ` [Qemu-arm] " Thomas Huth
2019-01-14  8:45     ` [Qemu-devel] " Thomas Huth
2019-01-11 14:08 ` [Qemu-arm] [PATCH 05/15] hw/nvram/fw_cfg: Remove various typedefs " Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-11 16:26   ` [Qemu-arm] " Laszlo Ersek
2019-01-11 16:26     ` [Qemu-devel] " Laszlo Ersek
2019-01-14 10:26     ` [Qemu-arm] " Philippe Mathieu-Daudé
2019-01-14 10:26       ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-arm] [PATCH 06/15] hw/i2c/smbus: Remove SMBusDevice " Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-arm] [PATCH 07/15] hw/bt: Remove HCIInfo " Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-devel] [PATCH 08/15] hw/char/serial: Remove SerialState " Philippe Mathieu-Daudé
2019-01-11 14:08   ` Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-devel] [PATCH 09/15] hw/i386: Remove PCMachineClass " Philippe Mathieu-Daudé
2019-01-11 14:08   ` Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-arm] [PATCH 10/15] range: Remove Range " Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-14  8:56   ` [Qemu-arm] " Thomas Huth
2019-01-14  8:56     ` [Qemu-devel] " Thomas Huth
2019-01-14 10:30     ` [Qemu-arm] " Philippe Mathieu-Daudé
2019-01-14 10:30       ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-devel] [PATCH 11/15] audio: Remove AudioState " Philippe Mathieu-Daudé
2019-01-11 14:08   ` Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-devel] [PATCH 12/15] ui/console: Remove MouseTransformInfo from qemu/typedefs.h Philippe Mathieu-Daudé
2019-01-11 14:08   ` Philippe Mathieu-Daudé
2019-01-14  8:59   ` [Qemu-arm] " Thomas Huth
2019-01-14  8:59     ` [Qemu-devel] " Thomas Huth
2019-01-14 12:59     ` Philippe Mathieu-Daudé
2019-01-14 12:59       ` Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-devel] [PATCH 13/15] ui/console: Remove QemuDmaBuf from "qemu/typedefs.h" Philippe Mathieu-Daudé
2019-01-11 14:08   ` Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-arm] [PATCH 14/15] ui/console: Remove DisplayState/DisplaySurface " Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-11 14:08 ` [Qemu-arm] [RFC PATCH 15/15] ui/console: Add "ui/pixelformat.h" to declare PixelFormat Philippe Mathieu-Daudé
2019-01-11 14:08   ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-11 17:32   ` [Qemu-arm] " Paolo Bonzini
2019-01-11 17:32     ` [Qemu-devel] " Paolo Bonzini
2019-01-14 10:24     ` [Qemu-arm] " Philippe Mathieu-Daudé
2019-01-14 10:24       ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-01-14 12:35       ` [Qemu-arm] " Gerd Hoffmann
2019-01-14 12:35         ` [Qemu-devel] " Gerd Hoffmann
2019-01-14 12:41         ` [Qemu-arm] " Philippe Mathieu-Daudé
2019-01-14 12:41           ` [Qemu-devel] " Philippe Mathieu-Daudé

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=87sgxtatod.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=alistair@alistair23.me \
    --cc=clg@kaod.org \
    --cc=f4bug@amsat.org \
    --cc=groug@kaod.org \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=xiaoguangrong.eric@gmail.com \
    /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.