[PATCH v3 net-next 05/10] phy: add phy_get_rx_polarity() and phy_get_tx_polarity()
Geert Uytterhoeven
geert at linux-m68k.org
Thu Feb 26 05:22:29 PST 2026
Hi Vladimir,
CC kunit
On Sun, 11 Jan 2026 at 10:44, Vladimir Oltean <vladimir.oltean at nxp.com> wrote:
> Add helpers in the generic PHY folder which can be used using 'select
> GENERIC_PHY_COMMON_PROPS' from Kconfig, without otherwise needing to
> enable GENERIC_PHY.
>
> These helpers need to deal with the slight messiness of the fact that
> the polarity properties are arrays per protocol, and with the fact that
> there is no default value mandated by the standard properties, all
> default values depend on driver and protocol (PHY_POL_NORMAL may be a
> good default for SGMII, whereas PHY_POL_AUTO may be a good default for
> PCIe).
>
> Push the supported mask of polarities to these helpers, to simplify
> drivers such that they don't need to validate what's in the device tree
> (or other firmware description).
>
> Add a KUnit test suite to make sure that the API produces the expected
> results. The fact that we use fwnode structures means we can validate
> with software nodes, and as opposed to the device_property API, we can
> bypass the need to have a device structure.
>
> Co-developed-by: Bjørn Mork <bjorn at mork.no>
> Signed-off-by: Bjørn Mork <bjorn at mork.no>
> Signed-off-by: Vladimir Oltean <vladimir.oltean at nxp.com>
Thanks for your patch, which is now commit e7556b59ba651796
("phy: add phy_get_rx_polarity() and phy_get_tx_polarity()") in
v7.0-rc1.
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -5,6 +5,28 @@
>
> menu "PHY Subsystem"
>
> +config PHY_COMMON_PROPS
> + bool
> + help
> + This parses properties common between generic PHYs and Ethernet PHYs.
> +
> + Select this from consumer drivers to gain access to helpers for
> + parsing properties from the
> + Documentation/devicetree/bindings/phy/phy-common-props.yaml schema.
> +
> +config PHY_COMMON_PROPS_TEST
> + tristate "KUnit tests for PHY common props" if !KUNIT_ALL_TESTS
> + select PHY_COMMON_PROPS
This select means that enabling KUNIT_ALL_TESTS also enables extra
functionality, which may not be desirable in a production system.
As PHY_COMMON_PROPS is bool, this extra functionality is even part of
the base kernel if KUNIT_ALL_TESTS=m. Unfortunately PHY_COMMON_PROPS is
invisible, so this cannot just be changed from "select" to "depends on".
But perhaps PHY_COMMON_PROPS can be made visible if KUNIT_ALL_TESTS,
so the select can be turned into a dependency?
> + depends on KUNIT
> + default KUNIT_ALL_TESTS
> + help
> + This builds KUnit tests for the PHY common property API.
> +
> + For more information on KUnit and unit tests in general,
> + please refer to the KUnit documentation in Documentation/dev-tools/kunit/.
> +
> + When in doubt, say N.
> +
> config GENERIC_PHY
> bool "PHY Core"
> help
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the linux-arm-kernel
mailing list