[net-next,00/11] net: Add basic LED support for switch/phy

Message ID 20230307170046.28917-1-ansuelsmth@gmail.com
Headers
Series net: Add basic LED support for switch/phy |

Message

Christian Marangi March 7, 2023, 5 p.m. UTC
  This is a continue of [1]. It was decided to take a more gradual
approach to implement LEDs support for switch and phy starting with
basic support and then implementing the hw control part when we have all
the prereq done.

This series implements only the brightness_set() and blink_set() ops.
An example of switch implementation is done with qca8k.

For PHY a more generic approach is used with implementing the LED
support in PHY core and with the user (in this case marvell) adding all
the required functions.

Currently we set the default-state as "keep" to not change the default
configuration of the declared LEDs since almost every switch have a
default configuration.

[1] https://lore.kernel.org/lkml/20230216013230.22978-1-ansuelsmth@gmail.com/

Andrew Lunn (6):
  net: phy: Add a binding for PHY LEDs
  net: phy: phy_device: Call into the PHY driver to set LED brightness.
  net: phy: marvell: Add software control of the LEDs
  net: phy: phy_device: Call into the PHY driver to set LED blinking.
  net: phy: marvell: Implement led_blink_set()
  arm: mvebu: dt: Add PHY LED support for 370-rd WAN port

Christian Marangi (5):
  net: dsa: qca8k: add LEDs basic support
  net: dsa: qca8k: add LEDs blink_set() support
  dt-bindings: net: dsa: dsa-port: Document support for LEDs node
  dt-bindings: net: dsa: qca8k: add LEDs definition example
  dt-bindings: net: phy: Document support for LEDs node

 .../devicetree/bindings/net/dsa/dsa-port.yaml |   7 +
 .../devicetree/bindings/net/dsa/qca8k.yaml    |  24 ++
 .../devicetree/bindings/net/ethernet-phy.yaml |  22 ++
 arch/arm/boot/dts/armada-370-rd.dts           |  14 ++
 drivers/net/dsa/qca/Kconfig                   |   7 +
 drivers/net/dsa/qca/Makefile                  |   1 +
 drivers/net/dsa/qca/qca8k-8xxx.c              |   4 +
 drivers/net/dsa/qca/qca8k-leds.c              | 238 ++++++++++++++++++
 drivers/net/dsa/qca/qca8k.h                   |  69 +++++
 drivers/net/phy/marvell.c                     |  81 +++++-
 drivers/net/phy/phy_device.c                  | 115 +++++++++
 include/linux/phy.h                           |  33 +++
 12 files changed, 610 insertions(+), 5 deletions(-)
 create mode 100644 drivers/net/dsa/qca/qca8k-leds.c
  

Comments

Andrew Lunn March 8, 2023, 1:20 a.m. UTC | #1
On Tue, Mar 07, 2023 at 06:00:35PM +0100, Christian Marangi wrote:
> This is a continue of [1]. It was decided to take a more gradual
> approach to implement LEDs support for switch and phy starting with
> basic support and then implementing the hw control part when we have all
> the prereq done.

In the end, there are likely to be 3 or 4 patchsets. There are going
to be patches to both the LED subsystem and the netdev subsystem, plus
device tree bindings and some ARM DT patches.

Ideally we would like all the patches to go through one tree, so we
can keep everything together and buildable. We will cross post patches
to both major subsystems, but my guess is, merging via netdev will be
best. If not, a stable branch for the LED subsystem which can be
pulled into netdev could maybe made be to work.

       Andrew