From: sashiko-bot@kernel.org
To: "Kyle Switch" <kyle.switch@motor-comm.com>
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH net-next v21 2/3] net: phy: Add support for Template Control register for PMA
Date: Fri, 25 Sep 2026 07:51:19 +0000 [thread overview]
Message-ID: <20260925075120.6056C1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260924075048.4060414-3-kyle.switch@motor-comm.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] UAPI: kernel-internal GENMASK breaks userspace build
- [Low] phy-c45: genphy_c45_template_testmode() returns -EOPNOTSUPP for invalid argument
--
commit 188b76c25d65c5d40038c12ea01f1d6261994387
Author: Kyle Switch <kyle.switch@motor-comm.com>
net: phy: Add support for Template Control register for PMA
This commit adds support for the 10GBASE-T PMA Template Test Mode register
field. This allows selecting test modes used for PHY validation.
> diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
> index 870920311f9a0..c5f5753f7194b 100644
> --- a/drivers/net/phy/phy-c45.c
> +++ b/drivers/net/phy/phy-c45.c
[ ... ]
> @@ -1408,6 +1408,29 @@ int genphy_c45_fast_retrain(struct phy_device *phydev, bool enable)
> }
> EXPORT_SYMBOL_GPL(genphy_c45_fast_retrain);
>
> +/**
> + * genphy_c45_template_testmode - configure template testmode registers
> + * @phydev: target phy_device struct
> + * @test_mode: testmode includes Normal to Test mode 7
> + *
> + * Description: Set template testmode include Normal to Test mode 7
> + *
> + * Return: 0 on success, or a negative error code on failure (e.g. register
> + * read/write error).
> + */
> +int genphy_c45_template_testmode(struct phy_device *phydev, u16 test_mode)
> +{
> + u16 ctrl;
> +
> + if (test_mode > MDIO_PMA_10GBT_TESTMODE_7)
> + return -EOPNOTSUPP;
[Severity: Low]
Does this return the correct error code?
Returning -EOPNOTSUPP usually implies that the hardware lacks the capability.
Would it be better to return -EINVAL here to indicate that the caller passed
an out-of-bounds test_mode parameter?
> +
> + ctrl = FIELD_PREP(MDIO_PMA_10GBT_TESTMODE_MASK, test_mode);
> + return phy_modify_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_PMA_10GBT_TESTMODE,
> + MDIO_PMA_10GBT_TESTMODE_MASK, ctrl);
> +}
> +EXPORT_SYMBOL_GPL(genphy_c45_template_testmode);
> diff --git a/include/uapi/linux/mdio.h b/include/uapi/linux/mdio.h
> index 06f4bc3c20c71..353ca13c64fca 100644
> --- a/include/uapi/linux/mdio.h
> +++ b/include/uapi/linux/mdio.h
[ ... ]
> @@ -320,6 +321,17 @@
> /* PMA 10GBASE-R Fast Retrain status and control register. */
> #define MDIO_PMA_10GBR_FSRT_ENABLE 0x0001 /* Fast retrain enable */
>
> +/* PMA 10GBASE-T Template Test Mode Register*/
> +#define MDIO_PMA_10GBT_TESTMODE_MASK GENMASK(15, 13) /* Template test mode */
[Severity: Medium]
Can this cause compilation failures for userspace programs?
The GENMASK macro is kernel-internal and isn't exported to standard userspace
headers, which typically only expose __GENMASK. Including GENMASK in a UAPI
header might break builds for any userspace applications that include
linux/mdio.h and evaluate this macro.
> +#define MDIO_PMA_10GBT_TESTMODE_NORMAL 0x0 /* Template Normal */
> +#define MDIO_PMA_10GBT_TESTMODE_1 0x1 /* Template TestMode1 */
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260924075048.4060414-1-kyle.switch@motor-comm.com?part=2
next prev parent reply other threads:[~2026-09-25 7:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-24 7:50 [PATCH net-next v21 0/3] net: phy: Add driver for Motorcomm Quad 2.5GbE phy Kyle Switch
2026-09-24 7:50 ` [PATCH net-next v21 1/3] dt-bindings: net: Document Motorcomm YT8824 PHY package Kyle Switch
2026-09-24 17:07 ` Conor Dooley
2026-09-24 19:16 ` Andrew Lunn
2026-09-28 1:45 ` Kyle Switch
2026-09-28 3:28 ` Kyle Switch
2026-09-28 16:54 ` Andrew Lunn
2026-09-29 0:46 ` Kyle Switch
2026-09-28 1:43 ` Kyle Switch
2026-09-28 16:25 ` Conor Dooley
2026-09-29 0:49 ` Kyle Switch
2026-09-28 7:53 ` netdev-bot+sashiko
2026-09-24 7:50 ` [PATCH net-next v21 2/3] net: phy: Add support for Template Control register for PMA Kyle Switch
2026-09-25 7:51 ` sashiko-bot [this message]
2026-09-28 7:53 ` netdev-bot+sashiko
2026-09-24 7:50 ` [PATCH net-next v21 3/3] net: phy: Add driver for Motorcomm Quad 2.5GbE phy Kyle Switch
2026-09-28 7:53 ` netdev-bot+sashiko
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=20260925075120.6056C1F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kyle.switch@motor-comm.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.