Lines Matching +full:bus +full:- +full:power

7 #include <phosphor-logging/lg2.hpp>
8 #include <xyz/openbmc_project/Chassis/Buttons/Power/server.hpp>
21 namespace sdbusRule = sdbusplus::bus::match::rules;
26 {"chassis-on", Chassis::Transition::On},
27 {"chassis-off", Chassis::Transition::Off},
28 {"chassis-cycle", Chassis::Transition::PowerCycle}};
32 constexpr auto powerButtonIface = "xyz.openbmc_project.Chassis.Buttons.Power";
51 Handler::Handler(sdbusplus::bus_t& bus) : bus(bus) in Handler() argument
53 /* So far, there are two modes for multi-host power control in Handler()
54 - host select button mode, e.g.: Yosemite V2 in Handler()
55 only one power button with host select switch, in Handler()
58 - multi power button mode, e.g.: Greatlakes in Handler()
59 each slot/sled has its own power button, in Handler()
75 if (gpioConfig.contains("multi-action")) in Handler()
78 const auto& multiActCfg = gpioConfig["multi-action"]; in Handler()
85 mapEntry[duration] = chassisPwrCtl->second; in Handler()
89 lg2::error("unknown power button action"); in Handler()
105 lg2::info("Starting power button handler"); in Handler()
109 PowerButtonProfileFactory::instance().createProfile(bus); in Handler()
113 powerButtonReleased = std::make_unique<sdbusplus::bus::match_t>( in Handler()
114 bus, in Handler()
125 lg2::info("Starting multi power button handler"); in Handler()
131 std::unique_ptr<sdbusplus::bus::match_t> in Handler()
133 std::make_unique<sdbusplus::bus::match_t>( in Handler()
134 bus, in Handler()
149 lg2::error("Error creating power button handler: {ERROR}", "ERROR", e); in Handler()
157 idButtonReleased = std::make_unique<sdbusplus::bus::match_t>( in Handler()
158 bus, in Handler()
176 resetButtonReleased = std::make_unique<sdbusplus::bus::match_t>( in Handler()
177 bus, in Handler()
195 debugHSButtonReleased = std::make_unique<sdbusplus::bus::match_t>( in Handler()
196 bus, in Handler()
223 auto method = bus.new_method_call(mapperService, mapperObjPath, mapperIface, in getService()
228 auto result = bus.call(method); in getService()
231 return objectData.begin()->first; in getService()
250 auto method = bus.new_method_call( in getHostSelectorValue()
253 auto result = bus.call(method); in getHostSelectorValue()
271 auto method = bus.new_method_call(service.c_str(), hostObjectName.c_str(), in poweredOn()
274 auto result = bus.call(method); in poweredOn()
300 lg2::info("Multi-host system detected : {POSITION}", "POSITION", in handlePowerEvent()
305 // ignore power and reset button events if BMC is selected. in handlePowerEvent()
311 …"handlePowerEvent : BMC selected on multi-host system. ignoring power and reset button events..."); in handlePowerEvent()
320 for (const auto& iter : multiPwrBtnActConf[stoi(hostNumStr) - 1]) in handlePowerEvent()
344 lg2::info("handlePowerEvent : Handle power button press "); in handlePowerEvent()
355 hosts (1 to N) - host shutdown in handlePowerEvent()
356 bmc (0) - sled cycle in handlePowerEvent()
358 host(0) - host shutdown in handlePowerEvent()
372 "Power is off so ignoring long power button press"); in handlePowerEvent()
375 lg2::info("handlePowerEvent : handle long power button press"); in handlePowerEvent()
387 lg2::info("Power is off so ignoring reset button press"); in handlePowerEvent()
401 lg2::error("{EVENT} is invalid power event. skipping...", "EVENT", in handlePowerEvent()
408 auto method = bus.new_method_call(service.c_str(), objPathName.c_str(), in handlePowerEvent()
411 bus.call(method); in handlePowerEvent()
426 lg2::error("Failed power state change on a power button press: {ERROR}", in powerReleased()
441 lg2::error("Failed power state change on a reset button press: {ERROR}", in resetReleased()
462 auto method = bus.new_method_call(service.c_str(), groupPath.c_str(), in idReleased()
465 auto result = bus.call(method); in idReleased()
476 method = bus.new_method_call(service.c_str(), groupPath.c_str(), in idReleased()
480 result = bus.call(method); in idReleased()
502 bus.new_method_call(HSService.c_str(), HS_DBUS_OBJECT_NAME, in increaseHostSelectorPosition()
505 auto result = bus.call(method); in increaseHostSelectorPosition()
515 method = bus.new_method_call(HSService.c_str(), HS_DBUS_OBJECT_NAME, in increaseHostSelectorPosition()
520 result = bus.call(method); in increaseHostSelectorPosition()
538 "Failed power process debug host selector button press : {ERROR}", in debugHostSelectorReleased()