[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240330-v6-8-0-net-next-mv88e6xxx-leds-v4-v2-0-fc5beb9febc5@lunn.ch>
Date: Sat, 30 Mar 2024 13:31:57 -0500
From: Andrew Lunn <andrew@...n.ch>
To: Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Russell King <linux@...linux.org.uk>,
Gregory Clement <gregory.clement@...tlin.com>
Cc: netdev@...r.kernel.org, Andrew Lunn <andrew@...n.ch>
Subject: [PATCH net-next v2 0/7] net: Add generic support for netdev LEDs
For some devices, the MAC controls the LEDs in the RJ45 connector, not
the PHY. This patchset provides generic support for such LEDs, and
adds the first user, mv88e6xxx.
The common code netdev_leds_setup() is passed a DT node containing the
LEDs and a structure of operations to act on the LEDs. The core will
then create an cdev LED for each LED found in the device tree node.
The callbacks are passed the netdev, and the index of the LED. In
order to make use of this within DSA, helpers are added to convert a
netdev to a ds and port.
The mv88e6xxx has been extended to add basic support for the 6352
LEDs. Only software control is added, but the API supports hardware
offload which can be added to the mv88e6xxx driver later.
For testing and demonstration, the Linksys Mamba aka. wrt1900ac has
the needed DT nodes added to describe its LEDs.
Signed-off-by: Andrew Lunn <andrew@...n.ch>
---
Changes in v2:
- Validate maximum number of LEDs in core code
- Change Kconfig due to 0-day reports
- Link to v1: https://lore.kernel.org/r/20240317-v6-8-0-net-next-mv88e6xxx-leds-v4-v1-0-80a4e6c6293e@lunn.ch
---
Andrew Lunn (7):
dsa: move call to driver port_setup after creation of netdev.
net: Add helpers for netdev LEDs
net: dsa: mv88e6xxx: Add helpers for 6352 LED blink and brightness
net: dsa: mv88e6xxx: Tie the low level LED functions to device ops
net: dsa: Add helpers to convert netdev to ds or port index
dsa: mv88e6xxx: Create port/netdev LEDs
arm: boot: dts: mvebu: linksys-mamba: Add Ethernet LEDs
.../boot/dts/marvell/armada-xp-linksys-mamba.dts | 66 +++++++
drivers/net/dsa/mv88e6xxx/Kconfig | 1 +
drivers/net/dsa/mv88e6xxx/chip.c | 125 ++++++++++++-
drivers/net/dsa/mv88e6xxx/chip.h | 19 ++
drivers/net/dsa/mv88e6xxx/port.c | 93 ++++++++++
drivers/net/dsa/mv88e6xxx/port.h | 76 +++++++-
include/net/dsa.h | 17 ++
include/net/netdev_leds.h | 45 +++++
net/Kconfig | 11 ++
net/core/Makefile | 1 +
net/core/netdev-leds.c | 201 +++++++++++++++++++++
net/dsa/devlink.c | 17 +-
net/dsa/dsa.c | 3 +
net/dsa/user.c | 8 +
net/dsa/user.h | 7 -
15 files changed, 665 insertions(+), 25 deletions(-)
---
base-commit: 537c2e91d3549e5d6020bb0576cf9b54a845255f
change-id: 20240316-v6-8-0-net-next-mv88e6xxx-leds-v4-ab77d73d52a4
Best regards,
--
Andrew Lunn <andrew@...n.ch>
Powered by blists - more mailing lists