132e84e98SVishwanatha Subbanna #include "occ_device.hpp"
2*94df8c90SGunnar Mills 
3482e31ffSEddie James #include "occ_status.hpp"
432e84e98SVishwanatha Subbanna 
5*94df8c90SGunnar Mills #include <iostream>
6*94df8c90SGunnar Mills 
732e84e98SVishwanatha Subbanna namespace open_power
832e84e98SVishwanatha Subbanna {
932e84e98SVishwanatha Subbanna namespace occ
1032e84e98SVishwanatha Subbanna {
1132e84e98SVishwanatha Subbanna 
1232e84e98SVishwanatha Subbanna fs::path Device::bindPath = fs::path(OCC_HWMON_PATH) / "bind";
1332e84e98SVishwanatha Subbanna fs::path Device::unBindPath = fs::path(OCC_HWMON_PATH) / "unbind";
1432e84e98SVishwanatha Subbanna 
15636577f4SEdward A. James bool Device::master() const
16636577f4SEdward A. James {
17636577f4SEdward A. James     int master;
18636577f4SEdward A. James     auto masterFile = fs::path(DEV_PATH) / config / "occ_master";
19636577f4SEdward A. James     std::ifstream file(masterFile, std::ios::in);
20636577f4SEdward A. James 
21636577f4SEdward A. James     if (!file)
22636577f4SEdward A. James     {
23636577f4SEdward A. James         return false;
24636577f4SEdward A. James     }
25636577f4SEdward A. James 
26636577f4SEdward A. James     file >> master;
27636577f4SEdward A. James     file.close();
28636577f4SEdward A. James     return (master != 0);
29636577f4SEdward A. James }
30636577f4SEdward A. James 
31482e31ffSEddie James void Device::throttleProcTempCallback(bool error)
32482e31ffSEddie James {
33482e31ffSEddie James     statusObject.throttleProcTemp(error);
34482e31ffSEddie James }
35482e31ffSEddie James 
36482e31ffSEddie James void Device::throttleProcPowerCallback(bool error)
37482e31ffSEddie James {
38482e31ffSEddie James     statusObject.throttleProcPower(error);
39482e31ffSEddie James }
40482e31ffSEddie James 
41482e31ffSEddie James void Device::throttleMemTempCallback(bool error)
42482e31ffSEddie James {
43482e31ffSEddie James     statusObject.throttleMemTemp(error);
44482e31ffSEddie James }
45482e31ffSEddie James 
4632e84e98SVishwanatha Subbanna } // namespace occ
4732e84e98SVishwanatha Subbanna } // namespace open_power
48