From: Simon Horman <horms@kernel.org>
To: nikita.shubin@maquefel.me
Cc: Hartley Sweeten <hsweeten@visionengravers.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Arnd Bergmann <arnd@arndb.de>, Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v10 17/38] net: cirrus: add DT support for Cirrus EP93xx
Date: Tue, 18 Jun 2024 13:46:10 +0100 [thread overview]
Message-ID: <20240618124610.GN8447@kernel.org> (raw)
In-Reply-To: <20240617-ep93xx-v10-17-662e640ed811@maquefel.me>
On Mon, Jun 17, 2024 at 12:36:51PM +0300, Nikita Shubin via B4 Relay wrote:
> From: Nikita Shubin <nikita.shubin@maquefel.me>
>
> - add OF ID match table
> - get phy_id from the device tree, as part of mdio
> - copy_addr is now always used, as there is no SoC/board that aren't
> - dropped platform header
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Hi Nikita,
Some minor feedback from my side.
...
> @@ -786,27 +766,47 @@ static void ep93xx_eth_remove(struct platform_device *pdev)
>
> static int ep93xx_eth_probe(struct platform_device *pdev)
> {
> - struct ep93xx_eth_data *data;
> struct net_device *dev;
> struct ep93xx_priv *ep;
> struct resource *mem;
> + void __iomem *base_addr;
> + struct device_node *np;
> + u32 phy_id;
> int irq;
> int err;
nit: Please consider maintaining reverse xmas tree order - longest line
to shortest - for local variable declarations. As preferred in
Networking code.
Edward Cree's tool can be of assistance here.
https://github.com/ecree-solarflare/xmastree
>
> if (pdev == NULL)
> return -ENODEV;
> - data = dev_get_platdata(&pdev->dev);
>
> mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> irq = platform_get_irq(pdev, 0);
> if (!mem || irq < 0)
> return -ENXIO;
>
> - dev = ep93xx_dev_alloc(data);
> + base_addr = ioremap(mem->start, resource_size(mem));
> + if (!base_addr)
> + return dev_err_probe(&pdev->dev, -EIO, "Failed to ioremap ethernet registers\n");
nit: Please consider line-wrapping to limiting lines to 80 columns wide
where it can be trivially achieved, which seems to be the case here.
80 columns is still preferred for Networking code.
Flagged by checkpatch.pl --max-line-length=80
> +
> + np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
> + if (!np)
> + return dev_err_probe(&pdev->dev, -ENODEV, "Please provide \"phy-handle\"\n");
> +
> + err = of_property_read_u32(np, "reg", &phy_id);
> + of_node_put(np);
> + if (err)
> + return dev_err_probe(&pdev->dev, -ENOENT, "Failed to locate \"phy_id\"\n");
> +
> + dev = alloc_etherdev(sizeof(struct ep93xx_priv));
> if (dev == NULL) {
> err = -ENOMEM;
> goto err_out;
> }
> +
> + eth_hw_addr_set(dev, base_addr + 0x50);
base_addr is an __iomem address. As such I don't think it is correct
to pass it (+ offset) to eth_hw_addr_set. Rather, I would expect base_addr
to be read using a suitable iomem accessor, f.e. readl. And one possible
solution would be to use readl to read the mac address into a buffer
which is passed to eth_hw_addr_set.
Flagged by Sparse.
> + dev->ethtool_ops = &ep93xx_ethtool_ops;
> + dev->netdev_ops = &ep93xx_netdev_ops;
> + dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM;
> +
> ep = netdev_priv(dev);
> ep->dev = dev;
> SET_NETDEV_DEV(dev, &pdev->dev);
...
next prev parent reply other threads:[~2024-06-18 12:46 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-17 9:36 [PATCH v10 00/38] ep93xx device tree conversion Nikita Shubin via B4 Relay
2024-06-17 9:36 ` [PATCH v10 16/38] dt-bindings: net: Add Cirrus EP93xx Nikita Shubin via B4 Relay
2024-06-17 9:36 ` [PATCH v10 17/38] net: cirrus: add DT support for " Nikita Shubin via B4 Relay
2024-06-18 12:46 ` Simon Horman [this message]
2024-06-18 16:37 ` Nikita Shubin
2024-06-17 10:58 ` [PATCH v10 00/38] ep93xx device tree conversion Andy Shevchenko
2024-06-18 16:20 ` Nikita Shubin
2024-06-27 8:29 ` Nikita Shubin
2024-07-05 9:21 ` Uwe Kleine-König
2024-07-08 7:34 ` Nikita Shubin
2024-07-10 12:31 ` Arnd Bergmann
2024-07-10 13:48 ` Nikita Shubin
2024-07-09 13:58 ` Rob Herring
2024-07-09 15:22 ` Uwe Kleine-König
2024-06-18 14:33 ` Jakub Kicinski
2024-06-18 16:33 ` Nikita Shubin
2024-06-18 18:08 ` Jakub Kicinski
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=20240618124610.GN8447@kernel.org \
--to=horms@kernel.org \
--cc=andrew@lunn.ch \
--cc=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hsweeten@visionengravers.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nikita.shubin@maquefel.me \
--cc=pabeni@redhat.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).