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. - 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 From: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx> Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx> --- Changes in v3: - Move support for PSE index out of this series - Remove regulator patch which gets merged in regulator tree. - Link to v2: https://lore.kernel.org/r/20250109-b4-feature_poe_arrange-v2-0-55ded947b510@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 (12): 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: Fix missing PI of_node description net: pse-pd: Clean ethtool header of PSE structures drivers/net/pse-pd/pd692x0.c | 224 +++++++++--------- drivers/net/pse-pd/pse_core.c | 183 ++++++++++----- drivers/net/pse-pd/pse_regulator.c | 23 +- drivers/net/pse-pd/tps23881.c | 449 ++++++++++++++++++++++++++++++------- include/linux/ethtool.h | 20 -- include/linux/pse-pd/pse.h | 134 ++++++++--- net/ethtool/pse-pd.c | 8 +- 7 files changed, 733 insertions(+), 308 deletions(-) --- base-commit: 47fcecb5cea2db70aafc8c9757e7fbbdb715db22 change-id: 20250104-b4-feature_poe_arrange-7ad0462f2afe Best regards, -- Köry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com