netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: "Arınç ÜNAL" <arinc.unal@arinc9.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>
Cc: "David S. Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"George McCollister" <george.mccollister@gmail.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Vladimir Oltean" <olteanv@gmail.com>,
	"Kurt Kanzenbach" <kurt@linutronix.de>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Woojung Huh" <woojung.huh@microchip.com>,
	UNGLinuxDriver@microchip.com,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Alvin Šipraga" <alsi@bang-olufsen.dk>,
	"Clément Léger" <clement.leger@bootlin.com>,
	"Marcin Wojtas" <mw@semihalf.com>,
	"Lars Povlsen" <lars.povlsen@microchip.com>,
	"Steen Hegelund" <Steen.Hegelund@microchip.com>,
	"Daniel Machon" <daniel.machon@microchip.com>,
	"Radhey Shyam Pandey" <radhey.shyam.pandey@amd.com>,
	"Daniel Golle" <daniel@makrotopia.org>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Sean Wang" <sean.wang@mediatek.com>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Magnus Damm" <magnus.damm@gmail.com>,
	"Maxime Chevallier" <maxime.chevallier@bootlin.com>,
	"Nicolas Ferre" <nicolas.ferre@microchip.com>,
	"Claudiu Beznea" <claudiu.beznea@microchip.com>,
	"Marek Vasut" <marex@denx.de>,
	"Claudiu Manoil" <claudiu.manoil@nxp.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"John Crispin" <john@phrozen.org>,
	"Madalin Bucur" <madalin.bucur@nxp.com>,
	"Ioana Ciornei" <ioana.ciornei@nxp.com>,
	"Lorenzo Bianconi" <lorenzo@kernel.org>,
	"Felix Fietkau" <nbd@nbd.name>,
	"Horatiu Vultur" <horatiu.vultur@microchip.com>,
	"Oleksij Rempel" <linux@rempel-privat.de>,
	"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
	"Giuseppe Cavallaro" <peppe.cavallaro@st.com>,
	"Jose Abreu" <joabreu@synopsys.com>,
	"Grygorii Strashko" <grygorii.strashko@ti.com>,
	"Sekhar Nori" <nsekhar@ti.com>,
	"Shyam Pandey" <radhey.shyam.pandey@xilinx.com>,
	mithat.guner@xeront.com, erkin.bozoglu@xeront.com,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org,
	linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH net-next v2 00/10] define and enforce phylink bindings
Date: Fri, 22 Sep 2023 13:40:17 +0100	[thread overview]
Message-ID: <ZQ2LMe9aa1ViBcSH@shell.armlinux.org.uk> (raw)
In-Reply-To: <20230916110902.234273-1-arinc.unal@arinc9.com>

On Sat, Sep 16, 2023 at 02:08:52PM +0300, Arınç ÜNAL wrote:
> Hello there.
> 
> This patch series defines phylink bindings and enforces them for the
> ethernet controllers that need them.
> 
> Some schemas had to be changed to properly enforce phylink bindings for all
> of the affected ethernet controllers. Some of the documents of these
> ethernet controllers were non json-schema, which had to be converted.
> 
> I will convert the remaining documents to json-schema while this patch
> series receives reviews.

I can't say that I'm comfortable with this. We appear to be defining
bindings based on software implementation, and a desire for the DT
tooling to enforce what the software implementation wants. Isn't this
against the aims of device tree and device tree binding documentation?
Seems to me like feature-creep.

The bindings that phylink parses are already documented in the
ethernet controller yaml document. Specifically:

- phylink does not parse the phy-mode property, that is left to the
  implementation to pass to phylink, which can implement it any
  which way they choose (and even default to something.)

- phylink does not require a phy property - phylink does expect a PHY
  to be attached, but how that PHY is attached is up to the ethernet
  controller driver. It may call one of the phylink functions that
  parses the phy property, or it may manually supply the phy device to
  phylink. Either way, phylink does not itself require a PHY property.

- phylink does not require a sfp property - this obviously is optional.

So, all in all, ethernet-controller already describes it, and to create
a DT binding document that pretends that phylink requires any of this
stuff is, in my mind, wrong.

DSA requires certain properties by dint of the parsing and setup of
phylink being in generic code - this is not because phylink requires
certain properties, but phylink does require certain information in
order to function correctly.

The issue here is _how_ phylink gets that information, and as I state
above, it _can_ come from DT, but it can also be given that information
manually.

As an example, there are plenty of drivers in the tree which try to
parse a phy node, and if that's not present, they try to see if a PHY
exists at a default# bus address.

We seem to be digging outselves a hole here, where "phylink must have
these properties". No, that is wrong.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

  parent reply	other threads:[~2023-09-22 12:41 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-16 11:08 [PATCH net-next v2 00/10] define and enforce phylink bindings Arınç ÜNAL
2023-09-16 11:08 ` [PATCH net-next v2 01/10] net: dsa: mt7530: register OF node for internal MDIO bus Arınç ÜNAL
2023-09-16 11:08 ` [PATCH net-next v2 02/10] dt-bindings: net: dsa: microchip,lan937x: add missing ethernet on example Arınç ÜNAL
2023-09-16 11:08 ` [PATCH net-next v2 03/10] dt-bindings: net: dsa: realtek: fix MDIO bus child node restrictions Arınç ÜNAL
2023-09-16 11:08 ` [PATCH net-next v2 04/10] dt-bindings: net: dsa: nxp,sja1105: improve MDIO bus bindings Arınç ÜNAL
2023-09-18 18:22   ` Rob Herring
2023-09-16 11:08 ` [PATCH net-next v2 05/10] dt-bindings: net: dsa: define MDIO bus child node Arınç ÜNAL
2023-09-16 14:11   ` Andrew Lunn
2023-09-16 15:30     ` Arınç ÜNAL
2023-09-18 18:44   ` Rob Herring
2023-09-16 11:08 ` [PATCH net-next v2 06/10] dt-bindings: net: define phylink bindings Arınç ÜNAL
2023-09-16 11:08 ` [PATCH net-next v2 07/10] dt-bindings: net: enforce phylink bindings on certain ethernet controllers Arınç ÜNAL
2023-09-16 14:58   ` Rob Herring
2023-09-16 16:00     ` Arınç ÜNAL
2023-09-18 18:13   ` Rob Herring
2023-09-21 11:38     ` Arınç ÜNAL
2023-09-21 13:00       ` Andrew Lunn
2023-09-21 18:21         ` Arınç ÜNAL
2023-09-21 23:29           ` Andrew Lunn
2023-09-22  5:47             ` Arınç ÜNAL
2023-09-16 11:09 ` [PATCH net-next v2 08/10] dt-bindings: net: dsa: marvell: convert to json-schema Arınç ÜNAL
2023-09-16 14:05   ` Andrew Lunn
2023-09-16 15:44     ` Arınç ÜNAL
2023-09-16 14:58   ` Rob Herring
2023-09-18 18:40   ` Rob Herring
2023-09-16 11:09 ` [PATCH net-next v2 09/10] MAINTAINERS: update MARVELL 88E6XXX ETHERNET SWITCH document file name Arınç ÜNAL
2023-09-16 11:09 ` [PATCH net-next v2 10/10] dt-bindings: net: marvell-armada-370-neta: convert to json-schema Arınç ÜNAL
2023-09-16 14:58   ` Rob Herring
2023-09-16 16:15     ` Arınç ÜNAL
2023-09-22 12:40 ` Russell King (Oracle) [this message]
2023-09-22 21:57   ` [PATCH net-next v2 00/10] define and enforce phylink bindings Arınç ÜNAL
2023-09-22 22:29     ` Russell King (Oracle)
2023-09-22 22:44       ` Andrew Lunn
2023-09-23  6:06         ` Arınç ÜNAL
2023-09-23  7:51       ` Arınç ÜNAL
2023-09-23 14:54         ` Andrew Lunn
2023-09-22 22:36     ` Andrew Lunn
2023-09-23  6:28       ` Arınç ÜNAL
2023-09-23 15:12         ` Andrew Lunn
2023-09-23 17:51           ` Arınç ÜNAL
2023-09-24  3:15             ` Andrew Lunn
2023-09-24  7:49               ` Arınç ÜNAL
2023-09-24 14:55                 ` Andrew Lunn
2023-09-25  7:47                   ` Arınç ÜNAL

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=ZQ2LMe9aa1ViBcSH@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=Landen.Chao@mediatek.com \
    --cc=Steen.Hegelund@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=alsi@bang-olufsen.dk \
    --cc=andrew@lunn.ch \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=arinc.unal@arinc9.com \
    --cc=claudiu.beznea@microchip.com \
    --cc=claudiu.manoil@nxp.com \
    --cc=clement.leger@bootlin.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel.machon@microchip.com \
    --cc=daniel@makrotopia.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dqfext@gmail.com \
    --cc=edumazet@google.com \
    --cc=erkin.bozoglu@xeront.com \
    --cc=f.fainelli@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=george.mccollister@gmail.com \
    --cc=grygorii.strashko@ti.com \
    --cc=horatiu.vultur@microchip.com \
    --cc=ioana.ciornei@nxp.com \
    --cc=joabreu@synopsys.com \
    --cc=john@phrozen.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=kurt@linutronix.de \
    --cc=lars.povlsen@microchip.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux@rempel-privat.de \
    --cc=lorenzo@kernel.org \
    --cc=madalin.bucur@nxp.com \
    --cc=magnus.damm@gmail.com \
    --cc=marex@denx.de \
    --cc=matthias.bgg@gmail.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=mithat.guner@xeront.com \
    --cc=mw@semihalf.com \
    --cc=nbd@nbd.name \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=nsekhar@ti.com \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=peppe.cavallaro@st.com \
    --cc=radhey.shyam.pandey@amd.com \
    --cc=radhey.shyam.pandey@xilinx.com \
    --cc=robh+dt@kernel.org \
    --cc=sean.wang@mediatek.com \
    --cc=woojung.huh@microchip.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;
as well as URLs for NNTP newsgroup(s).