Linux Documentation
 help / color / mirror / Atom feed
From: Kory Maincent <kory.maincent@bootlin.com>
To: Rob Herring <robh@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Luis Chamberlain <mcgrof@kernel.org>,
	Russ Weight <russ.weight@linux.dev>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Oleksij Rempel <o.rempel@pengutronix.de>,
	Mark Brown <broonie@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, devicetree@vger.kernel.org,
	Dent Project <dentproject@linuxfoundation.org>,
	Maxime Chevallier <maxime.chevallier@bootlin.com>
Subject: Re: [PATCH net-next v6 11/17] dt-bindings: net: pse-pd: Add another way of describing several PSE PIs
Date: Sat, 6 Apr 2024 21:37:14 +0200	[thread overview]
Message-ID: <20240406213714.0ae64623@kmaincent-XPS-13-7390> (raw)
In-Reply-To: <20240404103854.29ef418c@kmaincent-XPS-13-7390>

On Thu, 4 Apr 2024 10:38:54 +0200
Kory Maincent <kory.maincent@bootlin.com> wrote:

> On Wed, 3 Apr 2024 09:31:42 -0500
> Rob Herring <robh@kernel.org> wrote:
> 
> > On Wed, Apr 03, 2024 at 11:15:48AM +0200, Kory Maincent wrote:  
> > > On Tue, 2 Apr 2024 08:26:37 -0500
> > > Rob Herring <robh@kernel.org> wrote:
> > >     
> > > > > +          pairset-names:
> > > > > +            $ref: /schemas/types.yaml#/definitions/string-array
> > > > > +            description:
> > > > > +              Names of the pairsets as per IEEE 802.3-2022, Section
> > > > > 145.2.4.
> > > > > +              Valid values are "alternative-a" and "alternative-b".
> > > > > Each name      
> > > > 
> > > > Don't state constraints in prose which are defined as schema 
> > > > constraints.    
> > > 
> > > Ok, I will remove the line.
> > >     
> > > > > +          pairsets:
> > > > > +            $ref: /schemas/types.yaml#/definitions/phandle-array
> > > > > +            description:
> > > > > +              List of phandles, each pointing to the power supply for
> > > > > the
> > > > > +              corresponding pairset named in 'pairset-names'. This
> > > > > property
> > > > > +              aligns with IEEE 802.3-2022, Section 33.2.3 and
> > > > > 145.2.4.
> > > > > +              PSE Pinout Alternatives (as per IEEE 802.3-2022 Table
> > > > > 145\u20133)
> > > > > +
> > > > > |-----------|---------------|---------------|---------------|---------------|
> > > > > +              | Conductor | Alternative A | Alternative A |
> > > > > Alternative B | Alternative B |
> > > > > +              |           |    (MDI-X)    |     (MDI)     |      (X)
> > > > > |      (S)      |
> > > > > +
> > > > > |-----------|---------------|---------------|---------------|---------------|
> > > > > +              | 1         | Negative VPSE | Positive VPSE | \u2014
> > > > >     | \u2014             |
> > > > > +              | 2         | Negative VPSE | Positive VPSE | \u2014
> > > > >     | \u2014             |
> > > > > +              | 3         | Positive VPSE | Negative VPSE | \u2014
> > > > >     | \u2014             |
> > > > > +              | 4         | \u2014             | \u2014             |
> > > > > Negative VPSE | Positive VPSE |
> > > > > +              | 5         | \u2014             | \u2014             |
> > > > > Negative VPSE | Positive VPSE |
> > > > > +              | 6         | Positive VPSE | Negative VPSE | \u2014
> > > > >     | \u2014             |
> > > > > +              | 7         | \u2014             | \u2014             |
> > > > > Positive VPSE | Negative VPSE |
> > > > > +              | 8         | \u2014             | \u2014             |
> > > > > Positive VPSE | Negative VPSE |
> > > > > +            minItems: 1
> > > > > +            maxItems: 2      
> > > > 
> > > > "pairsets" does not follow the normal design pattern of foos,
> > > > foo-names, and #foo-cells. You could add #foo-cells I suppose, but what
> > > > would cells convey? I don't think it's a good fit for what you need.
> > > > 
> > > > The other oddity is the number of entries and the names are fixed. That 
> > > > is usually defined per consumer.     
> > > 
> > > Theoretically if the RJ45 port binding was supported it would make more
> > > sense, but in reality it's not feasible as the PSE controller need this
> > > information in its init process.
> > > The PSE controller reset all its port to apply a configuration so we can't
> > > do it when the consumer (RJ45) probe. It would reset the other ports if
> > > one consumer is probed later in the process.    
> > 
> > There is no reason other than convenience that all information some 
> > driver needs has to be in one node or one hierarchy of nodes. You can 
> > fetch anything from anywhere in the DT. It does feel like some of this 
> > belongs in a connector node. We often haven't described connectors in DT 
> > and stick connector properties in the controller node associated with 
> > the connector. Then as things get more complicated, it becomes a mess.   
> 
> Right, we could indeed put all the informations of the pse_pi node in the
> future RJ45 port abstraction node. Then, this series will be put aside until
> we manage to have the port abstraction get merged.
> I am not glad about this as it will stuck my work until then, but indeed
> removing this pse_pi wrapper node which is between the pse_controller node and
> the connector node seems cleaner.

After some new thought, I thinks it is quite similar on the devicetree side to
have it in a pse_pi node or in the connector node.
Here are my agruments to continue using this pse_pi binding description:
- The connector abstraction is in its early work and won't really see a v1 soon
  while the PoE series got mainly all reviewed-by thanks to Andrew.
  This would stuck the PoE series until maybe one or two Linux version.
- It allows to use the "Power Interface" name like described in the standards.
- Even if this is in the PSE controller node, it is generic to all PSEs so it
  shouldn't become a mess.
- It allows to have the PSE controller and Power Interfaces parameters grouped
  together and it will be easier to read. May not really be an argument! ;)
- It will keep the logic of PoDL with the PHY using a single reference to the
  PSE PI through the pses parameter. 

Is it okay for you to continue with it?

Regards,
-- 
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

  reply	other threads:[~2024-04-06 19:37 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-26 14:04 [PATCH net-next v6 00/17] net: Add support for Power over Ethernet (PoE) Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 01/17] MAINTAINERS: net: Add Oleksij to pse-pd maintainers Kory Maincent
2024-03-28 11:55   ` Andrew Lunn
2024-03-26 14:04 ` [PATCH net-next v6 02/17] of: property: Add fw_devlink support for pse parent Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 03/17] net: pse-pd: Rectify and adapt the naming of admin_cotrol member of struct pse_control_config Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 04/17] ethtool: Expand Ethernet Power Equipment with c33 (PoE) alongside PoDL Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 05/17] net: pse-pd: Introduce PSE types enumeration Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 06/17] net: ethtool: pse-pd: Expand pse commands with the PSE PoE interface Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 07/17] netlink: specs: Modify pse attribute prefix Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 08/17] netlink: specs: Expand the pse netlink command with PoE interface Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 09/17] MAINTAINERS: Add myself to pse networking maintainer Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 10/17] net: pse-pd: Add support for PSE PIs Kory Maincent
2024-03-28 10:33   ` Simon Horman
2024-03-28 10:40     ` Simon Horman
2024-03-28 14:12       ` Kory Maincent
2024-03-28 12:24   ` Andrew Lunn
2024-03-28 13:43     ` Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 11/17] dt-bindings: net: pse-pd: Add another way of describing several " Kory Maincent
2024-03-26 15:39   ` Rob Herring
2024-03-28 12:32     ` Andrew Lunn
2024-03-28 14:20       ` Kory Maincent
2024-03-28 12:31   ` Andrew Lunn
2024-03-28 14:23     ` Kory Maincent
2024-04-02 13:26   ` Rob Herring
2024-04-02 15:47     ` Oleksij Rempel
2024-04-03 14:44       ` Rob Herring
2024-04-03 15:27         ` Oleksij Rempel
2024-04-03  9:15     ` Kory Maincent
2024-04-03 14:31       ` Rob Herring
2024-04-04  8:38         ` Kory Maincent
2024-04-06 19:37           ` Kory Maincent [this message]
2024-04-04  9:25         ` Kory Maincent
2024-04-05  7:43           ` Oleksij Rempel
2024-03-26 14:04 ` [PATCH net-next v6 12/17] net: pse-pd: Add support for setup_pi_matrix callback Kory Maincent
2024-03-28 15:14   ` Andrew Lunn
2024-03-26 14:04 ` [PATCH net-next v6 13/17] net: pse-pd: Use regulator framework within PSE framework Kory Maincent
2024-03-28 15:22   ` Andrew Lunn
2024-03-29 15:04   ` Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 14/17] dt-bindings: net: pse-pd: Add bindings for PD692x0 PSE controller Kory Maincent
2024-03-28 15:27   ` Andrew Lunn
2024-04-02 13:28   ` Rob Herring
2024-04-09 13:43     ` Kory Maincent
2024-03-26 14:04 ` [PATCH net-next v6 15/17] net: pse-pd: Add PD692x0 PSE controller driver Kory Maincent
2024-03-28 15:57   ` Andrew Lunn
2024-03-26 14:04 ` [PATCH net-next v6 16/17] dt-bindings: net: pse-pd: Add bindings for TPS23881 PSE controller Kory Maincent
2024-03-28 15:58   ` Andrew Lunn
2024-03-26 14:04 ` [PATCH net-next v6 17/17] net: pse-pd: Add TI TPS23881 PSE controller driver Kory Maincent
2024-03-28 16:17   ` Andrew Lunn
2024-03-29 14:55     ` Kory Maincent
2024-03-28 16:24   ` Andrew Lunn
2024-03-29 14:56     ` Kory Maincent
2024-03-30 14:52       ` Andrew Lunn
2024-03-30 14:52         ` Andrew Lunn
2024-04-03  9:45         ` Kory Maincent

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=20240406213714.0ae64623@kmaincent-XPS-13-7390 \
    --to=kory.maincent@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=dentproject@linuxfoundation.org \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hkallweit1@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=maxime.chevallier@bootlin.com \
    --cc=mcgrof@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=o.rempel@pengutronix.de \
    --cc=pabeni@redhat.com \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=russ.weight@linux.dev \
    --cc=thomas.petazzoni@bootlin.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox