netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Maxime Chevallier <maxime.chevallier@bootlin.com>
Cc: davem@davemloft.net, "Andrew Lunn" <andrew@lunn.ch>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Eric Dumazet" <edumazet@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	thomas.petazzoni@bootlin.com,
	"Herve Codina" <herve.codina@bootlin.com>,
	"Uwe Kleine-König" <u.kleine-koenig@baylibre.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH net-next v2 01/10] net: freescale: ucc_geth: Drop support for the "interface" DT property
Date: Fri, 15 Nov 2024 12:19:14 +0000	[thread overview]
Message-ID: <20241115121914.GL1062410@kernel.org> (raw)
In-Reply-To: <20241114153603.307872-2-maxime.chevallier@bootlin.com>

On Thu, Nov 14, 2024 at 04:35:52PM +0100, Maxime Chevallier wrote:
> In april 2007, ucc_geth was converted to phylib with :
> 
> commit 728de4c927a3 ("ucc_geth: migrate ucc_geth to phylib").
> 
> In that commit, the device-tree property "interface", that could be used to
> retrieve the PHY interface mode was deprecated.
> 
> DTS files that still used that property were converted along the way, in
> the following commit, also dating from april 2007 :
> 
> commit 0fd8c47cccb1 ("[POWERPC] Replace undocumented interface properties in dts files")
> 
> 17 years later, there's no users of that property left and I hope it's
> safe to say we can remove support from that in the ucc_geth driver,
> making the probe() function a bit simpler.
> 
> Should there be any users that have a DT that was generated when 2.6.21 was
> cutting-edge, print an error message with hints on how to convert the
> devicetree if the 'interface' property is found.
> 
> With that property gone, we can greatly simplify the parsing of the
> phy-interface-mode from the devicetree by using of_get_phy_mode(),
> allowing the removal of the open-coded parsing in the driver.
> 
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> ---
> V2: No changes
> 
>  drivers/net/ethernet/freescale/ucc_geth.c | 63 +++++------------------
>  1 file changed, 12 insertions(+), 51 deletions(-)
> 
> diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c

...

> @@ -3627,18 +3588,17 @@ static int ucc_geth_probe(struct platform_device* ofdev)
>  	/* Find the TBI PHY node.  If it's not there, we don't support SGMII */
>  	ug_info->tbi_node = of_parse_phandle(np, "tbi-handle", 0);
>  
> -	/* get the phy interface type, or default to MII */
> -	prop = of_get_property(np, "phy-connection-type", NULL);
> -	if (!prop) {
> -		/* handle interface property present in old trees */
> -		prop = of_get_property(ug_info->phy_node, "interface", NULL);
> -		if (prop != NULL) {
> -			phy_interface = enet_to_phy_interface[*prop];
> -			max_speed = enet_to_speed[*prop];
> -		} else
> -			phy_interface = PHY_INTERFACE_MODE_MII;
> -	} else {
> -		phy_interface = to_phy_interface((const char *)prop);
> +	prop = of_get_property(ug_info->phy_node, "interface", NULL);
> +	if (prop) {
> +		dev_err(&ofdev->dev,
> +			"Device-tree property 'interface' is no longer supported. Please use 'phy-connection-type' instead.");
> +		goto err_put_tbi;

Hi Maxime,

This goto will result in err being returned by this function.
But here err is 0. Should it be set to an error value instead?

Flagged by Smatch.

> +	}
> +
> +	err = of_get_phy_mode(np, &phy_interface);
> +	if (err) {
> +		dev_err(&ofdev->dev, "Invalid phy-connection-type");
> +		goto err_put_tbi;
>  	}
>  
>  	/* get speed, or derive from PHY interface */
> @@ -3746,6 +3706,7 @@ static int ucc_geth_probe(struct platform_device* ofdev)
>  err_deregister_fixed_link:
>  	if (of_phy_is_fixed_link(np))
>  		of_phy_deregister_fixed_link(np);
> +err_put_tbi:
>  	of_node_put(ug_info->tbi_node);
>  	of_node_put(ug_info->phy_node);
>  	return err;
> -- 
> 2.47.0
> 
> 

  reply	other threads:[~2024-11-15 12:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-14 15:35 [PATCH net-next v2 00/10] net: freescale: ucc_geth: Phylink conversion Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 01/10] net: freescale: ucc_geth: Drop support for the "interface" DT property Maxime Chevallier
2024-11-15 12:19   ` Simon Horman [this message]
2024-11-20  8:43     ` Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 02/10] net: freescale: ucc_geth: split adjust_link for phylink conversion Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 03/10] net: freescale: ucc_geth: Use netdev->phydev to access the PHY Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 04/10] net: freescale: ucc_geth: Fix WOL configuration Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 05/10] net: freescale: ucc_geth: Use the correct type to store WoL opts Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 06/10] net: freescale: ucc_geth: Simplify frame length check Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 07/10] net: freescale: ucc_geth: Hardcode the preamble length to 7 bytes Maxime Chevallier
2024-11-14 15:35 ` [PATCH net-next v2 08/10] net: freescale: ucc_geth: Move the serdes configuration around Maxime Chevallier
2024-11-14 15:36 ` [PATCH net-next v2 09/10] net: freescale: ucc_geth: Introduce a helper to check Reduced modes Maxime Chevallier
2024-11-14 15:36 ` [PATCH net-next v2 10/10] net: freescale: ucc_geth: phylink conversion Maxime Chevallier

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=20241115121914.GL1062410@kernel.org \
    --to=horms@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=christophe.leroy@csgroup.eu \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=herve.codina@bootlin.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maxime.chevallier@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=u.kleine-koenig@baylibre.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).