All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Rob Herring <robh@kernel.org>
Cc: Jean-Philippe Brucker <jean-philippe@linaro.org>,
	qemu-arm@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH v2 5/8] hw/arm/virt: Fix devicetree warnings about the GPIO node
Date: Wed, 30 Nov 2022 12:27:23 +0000	[thread overview]
Message-ID: <CAFEAcA_t2hRPLcG-dyg4U5EzBX16FWWRzqMGy=ovnQpC1iB6Vg@mail.gmail.com> (raw)
In-Reply-To: <CAL_JsqK+NngZMheR7zR2oTVmgNFKKUhZtOAys=NmPQK_FdSq_A@mail.gmail.com>

On Tue, 29 Nov 2022 at 20:56, Rob Herring <robh@kernel.org> wrote:
>
> On Tue, Sep 27, 2022 at 6:25 AM Peter Maydell <peter.maydell@linaro.org> wrote:
> >
> > On Tue, 27 Sept 2022 at 11:12, Jean-Philippe Brucker
> > <jean-philippe@linaro.org> wrote:
> > >
> > > Since the pl061 device can be used as interrupt controller, its node
> > > should contain "interrupt-controller" and "#interrupt-cells" properties.
> >
> > It *can* be, but this PL061 is *not* an interrupt controller.
> > I don't see any reason why we should claim so in the DT.
>
> Taking another look, it is an interrupt controller. The GPIOs are
> connected to the 'gpio-keys' node which is interrupt based (there's a
> polled version too). That binding happens to be pretty lax and allows
> the GPIO to be specified either with 'gpios' or 'interrupts' property.
> The Linux PL061 driver happens to work only because it always
> registers an interrupt controller regardless of having
> "interrupt-controller" and "#interrupt-cells" properties or not.

No, it really isn't an interrupt controller. The interrupt controller
in this system is the GIC. The PL061 is a GPIO controller. It *has*
an interrupt line, which it connects to the GIC, but that doesn't make
it an interrupt controller any more than it makes a UART an interrupt
controller. It just means you can use the GPIOs in either a polled
or an interrupt-driven mode, same as you can use a PL011 UART in
either polled or interrupt-driven mode. And the guest knows it
can do that because we've told it "this is a PL061" and that's part
of the PL061's functionality.

The gpio-keys stuff is just "here is a wire which is tracking
the state of an emulated power button". This isn't an interrupt,
it's just a wire that has some status the guest probably
cares about.

The second PL061 which this bit of dtb-generation code also
applies to happens to currently be being used purely for
output GPIOs, so calling that one an interrupt controller
makes even less sense.

thanks
-- PMM


  reply	other threads:[~2022-11-30 12:28 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-27 10:03 [PATCH v2 0/8] hw/arm/virt: Fix dt-schema warnings Jean-Philippe Brucker
2022-09-27 10:03 ` [PATCH v2 1/8] hw/arm/virt: Fix devicetree warning about the root node Jean-Philippe Brucker
2022-09-27 11:30   ` Peter Maydell
2022-09-27 12:48   ` Eric Auger
2022-09-27 10:03 ` [PATCH v2 2/8] hw/arm/virt: Fix devicetree warning about the GIC node Jean-Philippe Brucker
2022-09-27 11:33   ` Peter Maydell
2022-09-27 12:48   ` Eric Auger
2022-09-27 10:03 ` [PATCH v2 3/8] hw/arm/virt: Use "msi-map" devicetree property for PCI Jean-Philippe Brucker
2022-09-27 11:36   ` Peter Maydell
2022-09-27 12:48   ` Eric Auger
2022-09-27 10:03 ` [PATCH v2 4/8] hw/arm/virt: Fix devicetree warning about the gpio-key node Jean-Philippe Brucker
2022-09-27 11:56   ` Peter Maydell
2022-10-13 21:46     ` Rob Herring
2022-10-14 11:37       ` Peter Maydell
2022-09-27 12:48   ` Eric Auger
2022-09-27 10:03 ` [PATCH v2 5/8] hw/arm/virt: Fix devicetree warnings about the GPIO node Jean-Philippe Brucker
2022-09-27 11:25   ` Peter Maydell
2022-11-29 20:55     ` Rob Herring
2022-11-30 12:27       ` Peter Maydell [this message]
2022-09-27 10:03 ` [PATCH v2 6/8] hw/arm/virt: Fix devicetree warning about the SMMU node Jean-Philippe Brucker
2022-09-27 11:37   ` Peter Maydell
2022-09-27 13:24   ` Eric Auger
2022-09-27 10:03 ` [PATCH v2 7/8] hw/arm/virt: Fix devicetree warnings about the virtio-iommu node Jean-Philippe Brucker
2022-09-27 11:46   ` Peter Maydell
2022-09-27 14:35     ` Eric Auger
2022-10-21 14:33       ` Jean-Philippe Brucker
2022-10-24 10:44         ` Peter Maydell
2022-09-27 10:03 ` [PATCH v2 8/8] hw/arm/virt: Fix devicetree warnings about node names Jean-Philippe Brucker
2022-09-27 11:28   ` Peter Maydell
2022-10-13 21:27     ` Rob Herring
2022-09-29 16:53 ` [PATCH v2 0/8] hw/arm/virt: Fix dt-schema warnings Peter Maydell

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='CAFEAcA_t2hRPLcG-dyg4U5EzBX16FWWRzqMGy=ovnQpC1iB6Vg@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=jean-philippe@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=robh@kernel.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.