From: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx> This patch includes several improvements to the PSE core for better implementation and maintainability: - Move the conversion between current limit and power limit from the driver to the PSE core. - Update power and current limit checks. - Split the ethtool_get_status callback into multiple callbacks. - Add support for PSE device index. - Fix PSE PI of_node detection. - Clean ethtool header of PSE structures. Additionally, the TPS23881 driver has been updated to support power limit and measurement features, aligning with the new PSE core functionalities. This patch series is the first part of the budget evaluation strategy support patch series sent earlier: https://lore.kernel.org/netdev/20250104161622.7b82dfdf@kmaincent-XPS-13-7390/T/#t Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx> --- Changes in v2: - Add a patch to clean ethtool header of PSE structures - Link to v1: https://lore.kernel.org/r/20250104-b4-feature_poe_arrange-v1-0-92f804bd74ed@xxxxxxxxxxx --- Kory Maincent (15): net: pse-pd: Remove unused pse_ethtool_get_pw_limit function declaration net: pse-pd: Avoid setting max_uA in regulator constraints net: pse-pd: Add power limit check net: pse-pd: tps23881: Simplify function returns by removing redundant checks net: pse-pd: tps23881: Use helpers to calculate bit offset for a channel net: pse-pd: tps23881: Add missing configuration register after disable net: pse-pd: Use power limit at driver side instead of current limit net: pse-pd: Split ethtool_get_status into multiple callbacks net: pse-pd: Remove is_enabled callback from drivers net: pse-pd: tps23881: Add support for power limit and measurement features net: pse-pd: Add support for PSE device index net: ethtool: Add support for new PSE device index description regulator: core: Resolve supply using of_node from regulator_config net: pse-pd: Fix missing PI of_node description net: pse-pd: Clean ethtool header of PSE structures Documentation/netlink/specs/ethtool.yaml | 5 + Documentation/networking/ethtool-netlink.rst | 4 + drivers/net/pse-pd/pd692x0.c | 224 ++++++------ drivers/net/pse-pd/pse_core.c | 207 ++++++++---- drivers/net/pse-pd/pse_regulator.c | 23 +- drivers/net/pse-pd/tps23881.c | 449 ++++++++++++++++++++----- drivers/regulator/core.c | 39 ++- include/linux/ethtool.h | 20 -- include/linux/pse-pd/pse.h | 138 ++++++-- include/uapi/linux/ethtool_netlink.h | 1 - include/uapi/linux/ethtool_netlink_generated.h | 1 + net/ethtool/pse-pd.c | 12 +- 12 files changed, 798 insertions(+), 325 deletions(-) --- base-commit: 849b7ca06e68813750c71c4c204372999cea6d0a change-id: 20250104-b4-feature_poe_arrange-7ad0462f2afe Best regards, -- Köry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com