mbox series

[net-next,v5,00/17] net: Add support for Power over Ethernet (PoE)

Message ID 20240227-feature_poe-v5-0-28f0aa48246d@bootlin.com (mailing list archive)
Headers show
Series net: Add support for Power over Ethernet (PoE) | expand

Message

Kory Maincent Feb. 27, 2024, 2:42 p.m. UTC
This patch series aims at adding support for PoE (Power over Ethernet),
based on the already existing support for PoDL (Power over Data Line)
implementation. In addition, it adds support for two specific PoE
controller, the Microchip PD692x0 and the TI TPS23881.

This patch series is sponsored by Dent Project
<dentproject@linuxfoundation.org>.

In detail:
- Patch 1 to 13 prepare net to support PoE devices.
- Patch 14 and 15 add PD692x0 PoE PSE controller driver and its binding.
- Patch 16 and 17 add TI TPS23881 PSE controller driver and its binding.

Changes in v5:
- Fix bindings nit.
- Add supported-polarity parameter to bindings.
- Fix yamllint binding errors.
- Remove the nested lock brought by the use of regulator framework.
- Link to v4: https://lore.kernel.org/r/20240215-feature_poe-v4-0-35bb4c23266c@bootlin.com

Changes in v4:
- Replaced sponsored-by tag by a simple sentence.
- Fix pse_pi node bindings.
- Add pse pi documentation written by Oleksij.
- Link to v3: https://lore.kernel.org/r/20240208-feature_poe-v3-0-531d2674469e@bootlin.com

Changes in v3:
- Add patches to add Oleksij and myself to PSE MAINTAINERS.
- Add patches to add pse devlink.
- Add TI TPS23881 PSE controller driver with its binding.
- Replace pse_get_types helper by pse_has_podl and pse_has_c33
- Changed the PSE core bindings.
- Add a setup_pi_matrix callback.
- Register regulator for each PSE PI (Power Interface).
- Changed the PD692x0 bindings.
- Updated PD692x0 drivers to new bindings and PSE PI description.
- Updated PD692x0 drivers according to the reviews and made fixes.
- Link to v2: https://lore.kernel.org/r/20231201-feature_poe-v2-0-56d8cac607fa@bootlin.com

Changes in v2:
- Extract "firmware_loader: Expand Firmware upload error codes patches" to
  send it alone and get it merge in an immutable branch.
- Add "c33" prefix for PoE variables and enums.
- Enhance few comments.
- Add PSE Documentation.
- Make several changes in pd692x0 driver, mainly for readibility.
- Link to v1: https://lore.kernel.org/r/20231116-feature_poe-v1-0-be48044bf249@bootlin.com

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
Kory Maincent (17):
      MAINTAINERS: net: Add Oleksij to pse-pd maintainers
      of: property: Add fw_devlink support for pse parent
      net: pse-pd: Rectify and adapt the naming of admin_cotrol member of struct pse_control_config
      ethtool: Expand Ethernet Power Equipment with c33 (PoE) alongside PoDL
      net: pse-pd: Introduce PSE types enumeration
      net: ethtool: pse-pd: Expand pse commands with the PSE PoE interface
      netlink: specs: Modify pse attribute prefix
      netlink: specs: Expand the pse netlink command with PoE interface
      MAINTAINERS: Add myself to pse networking maintainer
      net: pse-pd: Add support for PSE PIs
      dt-bindings: net: pse-pd: Add another way of describing several PSE PIs
      net: pse-pd: Add support for setup_pi_matrix callback
      net: pse-pd: Use regulator framework within PSE framework
      dt-bindings: net: pse-pd: Add bindings for PD692x0 PSE controller
      net: pse-pd: Add PD692x0 PSE controller driver
      dt-bindings: net: pse-pd: Add bindings for TPS23881 PSE controller
      net: pse-pd: Add TI TPS23881 PSE controller driver

 .../bindings/net/pse-pd/microchip,pd692x0.yaml     |  158 +++
 .../bindings/net/pse-pd/pse-controller.yaml        |  100 +-
 .../bindings/net/pse-pd/ti,tps23881.yaml           |   93 ++
 Documentation/netlink/specs/ethtool.yaml           |   33 +-
 Documentation/networking/ethtool-netlink.rst       |   20 +
 Documentation/networking/index.rst                 |    1 +
 Documentation/networking/pse-pd/index.rst          |   10 +
 Documentation/networking/pse-pd/introduction.rst   |   73 ++
 Documentation/networking/pse-pd/pse-pi.rst         |  302 +++++
 MAINTAINERS                                        |    8 +
 drivers/net/mdio/fwnode_mdio.c                     |   29 +-
 drivers/net/pse-pd/Kconfig                         |   20 +
 drivers/net/pse-pd/Makefile                        |    2 +
 drivers/net/pse-pd/pd692x0.c                       | 1223 ++++++++++++++++++++
 drivers/net/pse-pd/pse_core.c                      |  429 ++++++-
 drivers/net/pse-pd/pse_regulator.c                 |   49 +-
 drivers/net/pse-pd/tps23881.c                      |  818 +++++++++++++
 drivers/of/property.c                              |    2 +
 include/linux/pse-pd/pse.h                         |   86 +-
 include/uapi/linux/ethtool.h                       |   55 +
 include/uapi/linux/ethtool_netlink.h               |    3 +
 net/ethtool/pse-pd.c                               |   60 +-
 22 files changed, 3451 insertions(+), 123 deletions(-)
---
base-commit: f308eae1e1cdacca3cef65c7f4f691dfcb0c8976
change-id: 20231024-feature_poe-139490e73403

Best regards,

Comments

Jamal Hadi Salim Feb. 27, 2024, 3:31 p.m. UTC | #1
On Tue, Feb 27, 2024 at 9:43 AM Kory Maincent <kory.maincent@bootlin.com> wrote:
>
> This patch series aims at adding support for PoE (Power over Ethernet),
> based on the already existing support for PoDL (Power over Data Line)
> implementation. In addition, it adds support for two specific PoE
> controller, the Microchip PD692x0 and the TI TPS23881.
>
> This patch series is sponsored by Dent Project
> <dentproject@linuxfoundation.org>.

Sorry, couldnt resist because it sounded like a commercial;-> And
likely i am out of touch. I am all for giving credit but does it have
to be explicitly called out as "this patch is sponsored by X"?

cheers,
jamal


> In detail:
> - Patch 1 to 13 prepare net to support PoE devices.
> - Patch 14 and 15 add PD692x0 PoE PSE controller driver and its binding.
> - Patch 16 and 17 add TI TPS23881 PSE controller driver and its binding.
>
> Changes in v5:
> - Fix bindings nit.
> - Add supported-polarity parameter to bindings.
> - Fix yamllint binding errors.
> - Remove the nested lock brought by the use of regulator framework.
> - Link to v4: https://lore.kernel.org/r/20240215-feature_poe-v4-0-35bb4c23266c@bootlin.com
>
> Changes in v4:
> - Replaced sponsored-by tag by a simple sentence.
> - Fix pse_pi node bindings.
> - Add pse pi documentation written by Oleksij.
> - Link to v3: https://lore.kernel.org/r/20240208-feature_poe-v3-0-531d2674469e@bootlin.com
>
> Changes in v3:
> - Add patches to add Oleksij and myself to PSE MAINTAINERS.
> - Add patches to add pse devlink.
> - Add TI TPS23881 PSE controller driver with its binding.
> - Replace pse_get_types helper by pse_has_podl and pse_has_c33
> - Changed the PSE core bindings.
> - Add a setup_pi_matrix callback.
> - Register regulator for each PSE PI (Power Interface).
> - Changed the PD692x0 bindings.
> - Updated PD692x0 drivers to new bindings and PSE PI description.
> - Updated PD692x0 drivers according to the reviews and made fixes.
> - Link to v2: https://lore.kernel.org/r/20231201-feature_poe-v2-0-56d8cac607fa@bootlin.com
>
> Changes in v2:
> - Extract "firmware_loader: Expand Firmware upload error codes patches" to
>   send it alone and get it merge in an immutable branch.
> - Add "c33" prefix for PoE variables and enums.
> - Enhance few comments.
> - Add PSE Documentation.
> - Make several changes in pd692x0 driver, mainly for readibility.
> - Link to v1: https://lore.kernel.org/r/20231116-feature_poe-v1-0-be48044bf249@bootlin.com
>
> Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
> ---
> Kory Maincent (17):
>       MAINTAINERS: net: Add Oleksij to pse-pd maintainers
>       of: property: Add fw_devlink support for pse parent
>       net: pse-pd: Rectify and adapt the naming of admin_cotrol member of struct pse_control_config
>       ethtool: Expand Ethernet Power Equipment with c33 (PoE) alongside PoDL
>       net: pse-pd: Introduce PSE types enumeration
>       net: ethtool: pse-pd: Expand pse commands with the PSE PoE interface
>       netlink: specs: Modify pse attribute prefix
>       netlink: specs: Expand the pse netlink command with PoE interface
>       MAINTAINERS: Add myself to pse networking maintainer
>       net: pse-pd: Add support for PSE PIs
>       dt-bindings: net: pse-pd: Add another way of describing several PSE PIs
>       net: pse-pd: Add support for setup_pi_matrix callback
>       net: pse-pd: Use regulator framework within PSE framework
>       dt-bindings: net: pse-pd: Add bindings for PD692x0 PSE controller
>       net: pse-pd: Add PD692x0 PSE controller driver
>       dt-bindings: net: pse-pd: Add bindings for TPS23881 PSE controller
>       net: pse-pd: Add TI TPS23881 PSE controller driver
>
>  .../bindings/net/pse-pd/microchip,pd692x0.yaml     |  158 +++
>  .../bindings/net/pse-pd/pse-controller.yaml        |  100 +-
>  .../bindings/net/pse-pd/ti,tps23881.yaml           |   93 ++
>  Documentation/netlink/specs/ethtool.yaml           |   33 +-
>  Documentation/networking/ethtool-netlink.rst       |   20 +
>  Documentation/networking/index.rst                 |    1 +
>  Documentation/networking/pse-pd/index.rst          |   10 +
>  Documentation/networking/pse-pd/introduction.rst   |   73 ++
>  Documentation/networking/pse-pd/pse-pi.rst         |  302 +++++
>  MAINTAINERS                                        |    8 +
>  drivers/net/mdio/fwnode_mdio.c                     |   29 +-
>  drivers/net/pse-pd/Kconfig                         |   20 +
>  drivers/net/pse-pd/Makefile                        |    2 +
>  drivers/net/pse-pd/pd692x0.c                       | 1223 ++++++++++++++++++++
>  drivers/net/pse-pd/pse_core.c                      |  429 ++++++-
>  drivers/net/pse-pd/pse_regulator.c                 |   49 +-
>  drivers/net/pse-pd/tps23881.c                      |  818 +++++++++++++
>  drivers/of/property.c                              |    2 +
>  include/linux/pse-pd/pse.h                         |   86 +-
>  include/uapi/linux/ethtool.h                       |   55 +
>  include/uapi/linux/ethtool_netlink.h               |    3 +
>  net/ethtool/pse-pd.c                               |   60 +-
>  22 files changed, 3451 insertions(+), 123 deletions(-)
> ---
> base-commit: f308eae1e1cdacca3cef65c7f4f691dfcb0c8976
> change-id: 20231024-feature_poe-139490e73403
>
> Best regards,
> --
> Köry Maincent, Bootlin
> Embedded Linux and kernel engineering
> https://bootlin.com
>
>
Kory Maincent March 8, 2024, 1:54 p.m. UTC | #2
On Tue, 27 Feb 2024 10:31:05 -0500
Jamal Hadi Salim <jhs@mojatatu.com> wrote:

> On Tue, Feb 27, 2024 at 9:43 AM Kory Maincent <kory.maincent@bootlin.com>
> wrote:
> >
> > This patch series aims at adding support for PoE (Power over Ethernet),
> > based on the already existing support for PoDL (Power over Data Line)
> > implementation. In addition, it adds support for two specific PoE
> > controller, the Microchip PD692x0 and the TI TPS23881.
> >
> > This patch series is sponsored by Dent Project
> > <dentproject@linuxfoundation.org>.  
> 
> Sorry, couldnt resist because it sounded like a commercial;-> And
> likely i am out of touch. I am all for giving credit but does it have
> to be explicitly called out as "this patch is sponsored by X"?

Hello Jamal,

I will remove the line and add it in the From field as suggested by Jakub.
It seems to be the usual way to do it.

Regards,