leds: add driver for Mellanox systems LEDs
authorVadim Pasternak <vadimp@mellanox.com>
Thu, 8 Sep 2016 07:25:53 +0000 (07:25 +0000)
committerJacek Anaszewski <j.anaszewski@samsung.com>
Thu, 15 Sep 2016 14:49:39 +0000 (16:49 +0200)
commitbe4fdf99fa4dc95aa01144b207caf2cc9fa074d8
tree3f976a3e9ad156a779a4fdd839a270d85348f0f2
parent1f70cb4045cba47287fed3ba98dadc7187f13ef8
leds: add driver for Mellanox systems LEDs

This makes it possible to create a set of LEDs for Mellanox systems:
"msx6710", "msx6720", "msb7700", "msn2700", "msx1410", "msn2410",
"msb7800", "msn2740", "msn2100".

Driver obtains LED devices according to system configuration, provided
through system DMI data, like mlxcpld:fan1:green, mlxcpld:fan1:red and
creates devices in form: "devicename:colour:function".

LED setting is controlled through on board CPLD Lattice device.
For setting particular LED off, solid, blink:
echo 0 > /sys/class/leds/mlxcpld\:status\:green/brightness
echo 1 > /sys/class/leds/mlxcpld\:status\:green/brightness
echo timer > /sys/class/leds/mlxcpld\:status\:green/trigger

On module probing all LEDs are set green, on removing - off.

Last setting overwrites previous, f.e. sequence for
changing LED from green - red - green:
echo 1 > /sys/class/leds/mlxcpld\:psu\:green/brightness
echo 1 > /sys/class/leds/mlxcpld\:psu\:red/brightness
echo 1 > /sys/class/leds/mlxcpld\:psu\:green/brightness
Note: LEDs cannot be turned on/off simultaneously.

The Kconfig currently controlling compilation of this code is:
drivers/leds/Kconfig:config LEDS_MLXCPLD

Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Documentation/leds/leds-mlxcpld.txt [new file with mode: 0644]
MAINTAINERS
drivers/leds/Kconfig
drivers/leds/Makefile
drivers/leds/leds-mlxcpld.c [new file with mode: 0644]