From: Sean Anderson <sean.anderson@seco.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Vladimir Oltean <olteanv@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andrew Lunn <andrew@lunn.ch>,
Ioana Ciornei <ioana.ciornei@nxp.com>,
Madalin Bucur <madalin.bucur@nxp.com>,
"David S . Miller" <davem@davemloft.net>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Frank Rowand <frowand.list@gmail.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Leo Li <leoyang.li@nxp.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Paul Mackerras <paulus@samba.org>,
Rob Herring <robh+dt@kernel.org>,
Saravana Kannan <saravanak@google.com>,
Shawn Guo <shawnguo@kernel.org>,
"UNGLinuxDriver@microchip.com" <UNGLinuxDriver@microchip.com>,
Vivien Didelot <vivien.didelot@gmail.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH net-next v2 00/11] net: pcs: Add support for devices probed in the "usual" manner
Date: Thu, 10 Nov 2022 10:39:30 -0500 [thread overview]
Message-ID: <7b4fb14f-1ca0-e4f8-46ca-3884392627c2@seco.com> (raw)
In-Reply-To: <20221110152925.3gkkp5opf74oqrxb@skbuf>
On 11/10/22 10:29, Vladimir Oltean wrote:
> On Thu, Nov 10, 2022 at 09:55:32AM -0500, Sean Anderson wrote:
>> On 11/9/22 17:41, Vladimir Oltean wrote:
>> > On Thu, Nov 03, 2022 at 05:06:39PM -0400, Sean Anderson wrote:
>> >> Several (later) patches in this series cannot be applied until a stable
>> >> release has occured containing the dts updates.
>> >
>> > New kernels must remain compatible with old device trees.
>>
>> Well, this binding is not present in older device trees, so it needs to
>> be added before these patches can be applied. It also could be possible
>> to manually bind the driver using e.g. a helper function (like what is
>> done with lynx_pcs_create_on_bus). Of course this would be tricky,
>> because we would need to unbind any generic phy driver attached, but
>> avoid unbinding an existing Lynx PCS driver.
>
> If you know the value of the MII_PHYSID1 and MII_PHYSID2 registers for
> these PCS devices, would it be possible to probe them in a generic way
> as MDIO devices, if they lack a compatible string?
PCS devices are not PHYs, and they do not necessarily conform to the
standard PHY registers. Some PCS devices aren't even on MDIO busses (and
are instead memory-mapped). To implement this, I think we would need to be
very careful. There's also the issue where PCS devices might not be
accessable before their mode is selected by the MAC or SerDes.
>> As I understand it, kernels must be compatible with device trees from a
>> few kernels before and after. There is not a permanent guarantee of
>> backwards compatibility (like userspace has) because otherwise we would
>> never be able to make internal changes (such as what is done in this
>> series). I have suggested deferring these patches until after an LTS
>> release as suggested by Rob last time [1].
>>
>> --Sean
>>
>> [1] https://lore.kernel.org/netdev/20220718194444.GA3377770-robh@kernel.org/
>
> Internal changes limit themselves to what doesn't break compatibility
> with device trees in circulation. DT bindings are ABI. Compared to the
> lifetime of DPAA2 SoCs (and especially DPAA1), 1 LTS release is nothing,
> sorry. The kernel has to continue probing them as Lynx PCS devices even
> in lack of a compatible string.
I believe the idea here is to allow some leeway when updating so that
the kernel and device tree don't have to always be in sync. However, we
don't have to support a situation where the kernel is constantly updated
but the device tree is never updated. As long as a reasonable effort is
made to update (or *not* update) both the kernel and device tree, there
is no problem.
--Sean
next prev parent reply other threads:[~2022-11-10 15:39 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-03 21:06 [PATCH net-next v2 00/11] net: pcs: Add support for devices probed in the "usual" manner Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 01/11] arm64: dts: Add compatible strings for Lynx PCSs Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 02/11] powerpc: " Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 03/11] net: dsa: ocelot: suppress PHY device scanning on the internal MDIO bus Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 04/11] net: pcs: Add subsystem Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 05/11] net: pcs: lynx: Convert to an MDIO driver Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 06/11] net: enetc: Convert to use PCS subsystem Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 07/11] net: dsa: felix: Convert to use PCS driver Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 08/11] of: property: Add device link support for PCS Sean Anderson
2022-11-07 20:10 ` Rob Herring
2022-11-07 20:22 ` Vladimir Oltean
2022-11-07 20:50 ` Sean Anderson
2022-11-07 21:36 ` Rob Herring
2022-11-08 20:56 ` Saravana Kannan
2022-11-09 21:56 ` Vladimir Oltean
2022-11-03 21:06 ` [PATCH net-next v2 09/11] [DO NOT MERGE] net: dpaa: Convert to use PCS subsystem Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 10/11] [DO NOT MERGE] net: dpaa2: " Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 11/11] [DO NOT MERGE] net: pcs: lynx: Remove non-device functionality Sean Anderson
2022-11-09 22:41 ` [PATCH net-next v2 00/11] net: pcs: Add support for devices probed in the "usual" manner Vladimir Oltean
2022-11-10 14:55 ` Sean Anderson
2022-11-10 15:29 ` Vladimir Oltean
2022-11-10 15:39 ` Sean Anderson [this message]
2022-11-10 16:00 ` Vladimir Oltean
2022-11-10 16:56 ` Sean Anderson
2022-11-14 17:23 ` Vladimir Oltean
2022-11-14 18:08 ` Sean Anderson
2022-11-14 19:53 ` Vladimir Oltean
2022-11-17 13:38 ` Rob Herring
2022-11-10 16:01 ` Andrew Lunn
2022-11-10 16:32 ` Vladimir Oltean
2022-11-09 22:59 ` Vladimir Oltean
2022-11-10 15:15 ` Sean Anderson
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=7b4fb14f-1ca0-e4f8-46ca-3884392627c2@seco.com \
--to=sean.anderson@seco.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@lunn.ch \
--cc=benh@kernel.crashing.org \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=frowand.list@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=ioana.ciornei@nxp.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=leoyang.li@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=madalin.bucur@nxp.com \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=paulus@samba.org \
--cc=robh+dt@kernel.org \
--cc=saravanak@google.com \
--cc=shawnguo@kernel.org \
--cc=vivien.didelot@gmail.com \
--cc=vladimir.oltean@nxp.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).