All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Hector Martin <marcan@marcan.st>
Cc: linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Marc Zyngier <maz@kernel.org>, Arnd Bergmann <arnd@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Mark Kettenis <mark.kettenis@xs4all.nl>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Johan Hovold <johan@kernel.org>,
	devicetree@vger.kernel.org,
	"open list:THERMAL" <linux-pm@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	Mark Kettenis <kettenis@openbsd.org>
Subject: Re: [PATCH v2 2/8] dt-bindings: arm: apple: Add apple,pmgr binding
Date: Wed, 27 Oct 2021 09:43:54 -0500	[thread overview]
Message-ID: <CAL_JsqJbVcqy8n0EroV=nFZoJ_WAr+JbrDf-c1jso856NghC2A@mail.gmail.com> (raw)
In-Reply-To: <c0f2587c-ab69-8194-e618-ce7919c1aeb1@marcan.st>

On Tue, Oct 26, 2021 at 10:38 PM Hector Martin <marcan@marcan.st> wrote:
>
> On 27/10/2021 03.25, Rob Herring wrote:
> > On Mon, Oct 25, 2021 at 11:47:12PM +0900, Hector Martin wrote:
> >> +  compatible:
> >> +    items:
> >> +      - enum:
> >> +          - apple,t8103-pmgr
> >> +          - apple,t8103-minipmgr
> >> +      - const: apple,pmgr
> >> +      - const: syscon
> >> +      - const: simple-mfd
> >
> >
> > 'simple-mfd' means 'there's nothing in this node that any of the child
> > nodes depend on'. You should be somewhat certain as dropping it later
> > creates compatibility issues.
>
> Hmm, I see simple-mfd turns this into a bus which I guess allows child
> nodes to be probed without the parent node doing anything special (then
> we use syscon_node_to_regmap to get the syscon instantiated). Do you
> have a example use case for doing this without simple-mfd?

Drivers calling of_platform_populate or devm_of_platform_populate.

That of course does mean you need a driver. We could probably make the
syscon driver call these if needed.

> At this point I can't think of anything we'd need from the parent node,
> especially if we end up using this syscon strictly for pwrstate subnodes
> (which seems likely at this point). One thing that comes to mind is
> telling the PMP (a coprocessor in charge of power metrics/management)
> about some domains being turned on/off, which is apparently a thing, but
> that wouldn't even be in this node; that'd have to be a phandle property
> in the child nodes referencing a PMP/coprocessor node elsewhere (none of
> which is implemented right now, and which should be backwards compatible
> once it is).
>
> If it turns out we do have a dep of some sort in the end, could we just
> have the child node driver return -EPROBE_DEFER until the parent is
> probed and has made whatever service available? That would allow us to
> keep simple-mfd, right?

That would have saved you, but deferred probe is now a fallback to
fw_devlink and it makes sure parent driver probes first. That works
unless there isn't a parent driver which is often the case for
simple-bus[1]. I think you are okay since 'syscon' means there is a
driver.

> If it works for you, I'll also just squash the two bindings into one
> commit for the next spin, since there is a direct dependency at this
> point and it should make things easier. Otherwise, I can just swap the
> order if you prefer it that way.

Just swapping seems like less work, but either way.

Rob

[1] https://lore.kernel.org/all/CAL_JsqJcsqjJBe8aULYYMkFtx8OTj2wHANZ=83VMMyJ=AEgReg@mail.gmail.com/

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Hector Martin <marcan@marcan.st>
Cc: linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Marc Zyngier <maz@kernel.org>,  Arnd Bergmann <arnd@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	 Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Mark Kettenis <mark.kettenis@xs4all.nl>,
	 Philipp Zabel <p.zabel@pengutronix.de>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Johan Hovold <johan@kernel.org>,
	devicetree@vger.kernel.org,
	 "open list:THERMAL" <linux-pm@vger.kernel.org>,
	 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	 linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	 "open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	Mark Kettenis <kettenis@openbsd.org>
Subject: Re: [PATCH v2 2/8] dt-bindings: arm: apple: Add apple,pmgr binding
Date: Wed, 27 Oct 2021 09:43:54 -0500	[thread overview]
Message-ID: <CAL_JsqJbVcqy8n0EroV=nFZoJ_WAr+JbrDf-c1jso856NghC2A@mail.gmail.com> (raw)
In-Reply-To: <c0f2587c-ab69-8194-e618-ce7919c1aeb1@marcan.st>

On Tue, Oct 26, 2021 at 10:38 PM Hector Martin <marcan@marcan.st> wrote:
>
> On 27/10/2021 03.25, Rob Herring wrote:
> > On Mon, Oct 25, 2021 at 11:47:12PM +0900, Hector Martin wrote:
> >> +  compatible:
> >> +    items:
> >> +      - enum:
> >> +          - apple,t8103-pmgr
> >> +          - apple,t8103-minipmgr
> >> +      - const: apple,pmgr
> >> +      - const: syscon
> >> +      - const: simple-mfd
> >
> >
> > 'simple-mfd' means 'there's nothing in this node that any of the child
> > nodes depend on'. You should be somewhat certain as dropping it later
> > creates compatibility issues.
>
> Hmm, I see simple-mfd turns this into a bus which I guess allows child
> nodes to be probed without the parent node doing anything special (then
> we use syscon_node_to_regmap to get the syscon instantiated). Do you
> have a example use case for doing this without simple-mfd?

Drivers calling of_platform_populate or devm_of_platform_populate.

That of course does mean you need a driver. We could probably make the
syscon driver call these if needed.

> At this point I can't think of anything we'd need from the parent node,
> especially if we end up using this syscon strictly for pwrstate subnodes
> (which seems likely at this point). One thing that comes to mind is
> telling the PMP (a coprocessor in charge of power metrics/management)
> about some domains being turned on/off, which is apparently a thing, but
> that wouldn't even be in this node; that'd have to be a phandle property
> in the child nodes referencing a PMP/coprocessor node elsewhere (none of
> which is implemented right now, and which should be backwards compatible
> once it is).
>
> If it turns out we do have a dep of some sort in the end, could we just
> have the child node driver return -EPROBE_DEFER until the parent is
> probed and has made whatever service available? That would allow us to
> keep simple-mfd, right?

That would have saved you, but deferred probe is now a fallback to
fw_devlink and it makes sure parent driver probes first. That works
unless there isn't a parent driver which is often the case for
simple-bus[1]. I think you are okay since 'syscon' means there is a
driver.

> If it works for you, I'll also just squash the two bindings into one
> commit for the next spin, since there is a direct dependency at this
> point and it should make things easier. Otherwise, I can just swap the
> order if you prefer it that way.

Just swapping seems like less work, but either way.

Rob

[1] https://lore.kernel.org/all/CAL_JsqJcsqjJBe8aULYYMkFtx8OTj2wHANZ=83VMMyJ=AEgReg@mail.gmail.com/

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-10-27 14:44 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-25 14:47 [PATCH v2 0/8] Apple SoC PMGR device power states driver Hector Martin
2021-10-25 14:47 ` Hector Martin
2021-10-25 14:47 ` [PATCH v2 1/8] MAINTAINERS: Add PMGR power state files to ARM/APPLE MACHINE Hector Martin
2021-10-25 14:47   ` Hector Martin
2021-10-25 14:47 ` [PATCH v2 2/8] dt-bindings: arm: apple: Add apple,pmgr binding Hector Martin
2021-10-25 14:47   ` Hector Martin
2021-10-25 18:16   ` Rob Herring
2021-10-25 18:16     ` Rob Herring
2021-10-25 18:21     ` Hector Martin
2021-10-25 18:21       ` Hector Martin
2021-10-26 18:25   ` Rob Herring
2021-10-26 18:25     ` Rob Herring
2021-10-27  3:38     ` Hector Martin
2021-10-27  3:38       ` Hector Martin
2021-10-27 14:43       ` Rob Herring [this message]
2021-10-27 14:43         ` Rob Herring
2021-10-27 14:51         ` Krzysztof Kozlowski
2021-10-27 14:51           ` Krzysztof Kozlowski
2021-10-29  7:09           ` Hector Martin
2021-10-29  7:09             ` Hector Martin
2021-10-25 14:47 ` [PATCH v2 3/8] dt-bindings: power: Add apple,pmgr-pwrstate binding Hector Martin
2021-10-25 14:47   ` Hector Martin
2021-10-25 18:16   ` Rob Herring
2021-10-25 18:16     ` [PATCH v2 3/8] dt-bindings: power: Add apple, pmgr-pwrstate binding Rob Herring
2021-10-26 18:27   ` [PATCH v2 3/8] dt-bindings: power: Add apple,pmgr-pwrstate binding Rob Herring
2021-10-26 18:27     ` Rob Herring
2021-10-25 14:47 ` [PATCH v2 4/8] soc: apple: Add driver for Apple PMGR power state controls Hector Martin
2021-10-25 14:47   ` Hector Martin
2021-10-25 14:47 ` [PATCH v2 5/8] arm64: dts: apple: t8103: Rename clk24 to clkref Hector Martin
2021-10-25 14:47   ` Hector Martin
2021-10-25 14:47 ` [PATCH v2 6/8] arm64: dts: apple: t8103: Add the UART PMGR tree Hector Martin
2021-10-25 14:47   ` Hector Martin
2021-10-25 14:47 ` [PATCH v2 7/8] tty: serial: samsung_tty: Support runtime PM Hector Martin
2021-10-25 14:47   ` Hector Martin
2021-10-25 14:47 ` [PATCH v2 8/8] arm64: dts: apple: t8103: Add UART2 Hector Martin
2021-10-25 14:47   ` Hector Martin

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='CAL_JsqJbVcqy8n0EroV=nFZoJ_WAr+JbrDf-c1jso856NghC2A@mail.gmail.com' \
    --to=robh@kernel.org \
    --cc=alyssa@rosenzweig.io \
    --cc=arnd@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=johan@kernel.org \
    --cc=kettenis@openbsd.org \
    --cc=krzk@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=marcan@marcan.st \
    --cc=mark.kettenis@xs4all.nl \
    --cc=maz@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=rafael@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.