net: dsa: qca8k: add LEDs basic support
authorChristian Marangi <ansuelsmth@gmail.com>
Mon, 17 Apr 2023 15:17:24 +0000 (17:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Apr 2023 11:59:15 +0000 (12:59 +0100)
commit1e264f9d2918b5737023c44a23ae04def1095210
tree91b160b3071748b5cf504c000a078a17577ebd1f
parent3e8b4d6277fd19d98c817576954dd6a4ff3caa2b
net: dsa: qca8k: add LEDs basic support

Add LEDs basic support for qca8k Switch Family by adding basic
brightness_set() support.

Since these LEDs refelect port status, the default label is set to
":port". DT binding should describe the color and function of the
LEDs using standard LEDs api.
Each LED always have the device name as prefix. The device name is
composed from the mii bus id and the PHY addr resulting in example
names like:
- qca8k-0.0:00:amber:lan
- qca8k-0.0:00:white:lan
- qca8k-0.0:01:amber:lan
- qca8k-0.0:01:white:lan

These LEDs supports only blocking variant of the brightness_set()
function since they can sleep during access of the switch leds to set
the brightness.

While at it add to the qca8k header file each mode defined by the Switch
Documentation for future use.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/qca/Kconfig
drivers/net/dsa/qca/Makefile
drivers/net/dsa/qca/qca8k-8xxx.c
drivers/net/dsa/qca/qca8k-leds.c [new file with mode: 0644]
drivers/net/dsa/qca/qca8k.h
drivers/net/dsa/qca/qca8k_leds.h [new file with mode: 0644]