Add performance improvement to LED group assertions

Consider the below scenario:

1) User turns on Identify_Fan_1, which results in Fan_1's LED to blink
2) Fan_1 is faulted resulting in Fan_1, EncFaultFront and EncFaultBack
   to be asserted.
3) User turuns off Identify_Fan_1. This should result in Fan_1 going
   back to SolidOn state since the Fan_1 is still faulted.

Current implementation handles #3 by first turning off Fan_1 LED and
then turning it back on. So this was adding extra dbus calls to the
actual LED manager and also this would mean that Group manager would
know the underlying LED implementation.

With this patch, Group Manager tells the physical manager to move to
SolidOn state directly from Blink and physical LED manager now has the
job of doing the actual turn off followed by turn on and thus hiding
the implementation locally.

Fixes openbmc/phosphor-led-manager#3

Change-Id: Ic961095d01e59ba39a841ce8b74bbcde8ddec1df
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
1 file changed