[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201104165509.GB1249360@lunn.ch>
Date: Wed, 4 Nov 2020 17:55:09 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Sven Van Asbroeck <thesven73@...il.com>
Cc: Bryan Whitehead <bryan.whitehead@...rochip.com>,
David S Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Microchip Linux Driver Support <UNGLinuxDriver@...rochip.com>,
Roelof Berg <rberg@...g-solutions.de>,
netdev <netdev@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v1] lan743x: correctly handle chips with internal PHY
On Wed, Nov 04, 2020 at 11:39:47AM -0500, Sven Van Asbroeck wrote:
> Hi Andrew, many thanks for looking at this patch !
>
> On Wed, Nov 4, 2020 at 11:27 AM Andrew Lunn <andrew@...n.ch> wrote:
> >
> > > Note that as a side-effect, the devicetree phy mode now no longer
> > > has a default, and always needs to be specified explicitly (via
> > > 'phy-connection-type').
> >
> > That sounds like it could break systems. Why do you do this?
>
> Because the standard mdio library function (of_phy_get_and_connect())
> does not appear to support a default value. The original driver
> code duplicated that library function's code, with a slight
> tweak - the default value.
>
> The default value was introduced quite recently, in the commit which
> this patch fixes:
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/net/ethernet/microchip/lan743x_main.c?h=v5.9.3&id=6f197fb63850b26ef8f70f1bfe5900e377910a5a
If you look at that patch, you see:
- ret = phy_connect_direct(netdev, phydev,
- lan743x_phy_link_status_change,
- PHY_INTERFACE_MODE_GMII);
- if (ret)
- goto return_error;
That was added as part of the first commit for the lan743x
driver. Changing that now seems dangerous.
This is a fix you want backporting to stable. Such fixes should be
minimal, and obviously correct. So i suggest you keep with the open
coded version of of_phy_get_and_connect(), and make sure it keeps with
the default as PHY_INTERFACE_MODE_GMII. That can be committed to net
as a fix.
You can then consider a refactoring patch for net-next, and see about
modifying of_phy_get_and_connect() to do what you need.
Andrew
Powered by blists - more mailing lists