From: Simon Horman <horms@kernel.org>
To: Daniel Golle <daniel@makrotopia.org>
Cc: Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
John Crispin <john@phrozen.org>, Felix Fietkau <nbd@nbd.name>,
Lorenzo Bianconi <lorenzo@kernel.org>,
Sean Wang <sean.wang@mediatek.com>,
Mark Lee <Mark-MC.Lee@mediatek.com>,
Bc-bocun Chen <bc-bocun.chen@mediatek.com>,
Sam Shih <Sam.Shih@mediatek.com>,
Weijie Gao <Weijie.Gao@mediatek.com>,
Steven Liu <steven.liu@mediatek.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH RFC net-next] net: pcs: add helper module for standalone drivers
Date: Thu, 25 Jul 2024 17:50:12 +0100 [thread overview]
Message-ID: <20240725165012.GL97837@kernel.org> (raw)
In-Reply-To: <ba4e359584a6b3bc4b3470822c42186d5b0856f9.1721910728.git.daniel@makrotopia.org>
On Thu, Jul 25, 2024 at 01:44:49PM +0100, Daniel Golle wrote:
> Implement helper module for standalone PCS drivers which allows
> standaline PCS drivers to register and users to get instances of
> 'struct phylink_pcs' using device tree nodes.
>
> At this point only a single instance for each device tree node is
> supported, once we got devices providing more than one PCS we can
> extend it and introduce an xlate function as well as '#pcs-cells',
> similar to how this is done by the PHY framework.
>
> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> ---
> This is meant to provide the infrastructure suggested by
> Russell King in an earlier review. It just took me a long while to
> find the time to implement this.
> Users are going to be the standalone PCS drivers for 8/10 LynxI as
> well as 64/66 USXGMII PCS found on MediaTek MT7988 SoC.
> See also https://patchwork.kernel.org/comment/25636726/
>
> The full tree where this is being used can be found at
>
> https://github.com/dangowrt/linux/commits/mt7988-for-next/
Hi Daniel,
I realise this is an RFC, but I'm guessing a user will need to be submitted
for this to progress into net-next.
...
> +++ b/drivers/net/pcs/pcs-standalone.c
...
> +static struct pcs_standalone *of_pcs_locate(const struct device_node *_np, u32 index)
nit: This could trivially be line wrapped to 80 columns wide
> +{
> + struct device_node *np;
> + struct pcs_standalone *iter, *pcssa = NULL;
nit: Reverse xmas tree
...
> +struct phylink_pcs *devm_of_pcs_get(struct device *dev,
> + const struct device_node *np,
> + unsigned int index)
> +{
> + struct pcs_standalone *pcssa;
> +
> + pcssa = of_pcs_locate(np ?: dev->of_node, index);
> + if (IS_ERR_OR_NULL(pcssa))
> + return ERR_PTR(PTR_ERR(pcssa));
nit: Perhaps ERR_CAST() ?
> +
> + device_link_add(dev, pcssa->dev, DL_FLAG_AUTOREMOVE_CONSUMER);
> +
> + return pcssa->pcs;
> +}
> +EXPORT_SYMBOL_GPL(devm_of_pcs_get);
> +
> +MODULE_DESCRIPTION("Helper for standalone PCS drivers");
> +MODULE_AUTHOR("Daniel Golle <daniel@makrotopia.org>");
> +MODULE_LICENSE("GPL");
> diff --git a/include/linux/pcs/pcs-standalone.h b/include/linux/pcs/pcs-standalone.h
Please consider adding this file to MAINTAINERS.
...
> +static inline int devm_pcs_register(struct device *dev, struct phylink_pcs *pcs);
> + return -EOPNOTSUPP;
> +}
The above does not compile.
...
next prev parent reply other threads:[~2024-07-25 16:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 12:44 [PATCH RFC net-next] net: pcs: add helper module for standalone drivers Daniel Golle
2024-07-25 16:50 ` Simon Horman [this message]
2024-07-29 11:28 ` Russell King (Oracle)
2024-07-29 19:42 ` Daniel Golle
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=20240725165012.GL97837@kernel.org \
--to=horms@kernel.org \
--cc=Mark-MC.Lee@mediatek.com \
--cc=Sam.Shih@mediatek.com \
--cc=Weijie.Gao@mediatek.com \
--cc=andrew@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bc-bocun.chen@mediatek.com \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=john@phrozen.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=lorenzo@kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=nbd@nbd.name \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sean.wang@mediatek.com \
--cc=steven.liu@mediatek.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.