Current mode set as uppercase
Always set the current thermal control mode in uppercase to handle case
insensitive modes given since it would be something possibly set by the
end-user.
Tested:
Current mode always set in uppercase
Change-Id: Ie159de24f5f9b4dd5651a9411f7b176501c4846a
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/zone.cpp b/control/zone.cpp
index b844793..d4c7a3c 100644
--- a/control/zone.cpp
+++ b/control/zone.cpp
@@ -640,12 +640,14 @@
std::string Zone::current(std::string value)
{
- auto current = value;
- if (current != ThermalObject::current())
+ auto current = ThermalObject::current();
+ std::transform(value.begin(), value.end(), value.begin(), toupper);
+
+ if (value != current)
{
current = ThermalObject::current(value);
saveCurrentMode();
- // Trigger event(s) for custom mode property change
+ // Trigger event(s) for current mode property change
auto eData = _objects[_path]
["xyz.openbmc_project.Control.ThermalMode"]
["Current"];
@@ -655,6 +657,7 @@
handleEvent(nullMsg, eData);
}
}
+
return current;
}