| 6989d9a8 | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
use PDI constants: Logging.Entry
Tested: Inspection only.
Change-Id: Ifc93d795c4e2d5ce1fd5eda4d6eec6a5875ec579 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> |
| e2ce9da3 | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
use PDI constants: Association.Definitions
Tested: Inspection only.
Change-Id: I3401a3127ca2881c1588c072c24a8be31ac18577 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> |
| fd937acf | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
use PDI constants: Association
Tested: Inspection only.
Change-Id: I38bf6796a50a385628fd514f403f2c93f7bd2965 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> |
| 96d9457d | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
use PDI constants: Led.Group
Tested: Inspection only.
Change-Id: I0802b4f0ab74503fd5220a3c65757d744957b59e Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> |
| d4d474fe | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
use PDI constants: Led.Physical
Tested: Inspection only.
Change-Id: I09fcf8ee8f3bff5e7bbd26f2aaa38acdbebe9a25 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> |
| 4bed3535 | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
use PDI constants: xyz.openbmc_project.ObjectMapper
Tested: Inspection only.
Change-Id: Ib2fb9530fd167ec8e62c4a548e2f8813e0e726b4 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> |
| b5636ac5 | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
use PDI constants: Inventory.Decorator.Compatible
Also update a comment to refer to the actual interface instead of the variable name since that might rot less.
Tested: Inspection only.
Change-Id:
use PDI constants: Inventory.Decorator.Compatible
Also update a comment to refer to the actual interface instead of the variable name since that might rot less.
Tested: Inspection only.
Change-Id: Ibb59c5fdf52409514ba88546ddc2f9f315ffa014 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| 1956c5ac | 29-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
fix lg2 error log parameter name
"INTERFACES" -> "INTERFACE" since it's only one.
Tested: Inspection only.
Tool Disclosure: bug was found (but not fixed) by a bot (CodeRabbit)
Change-Id: Ib48d41f
fix lg2 error log parameter name
"INTERFACES" -> "INTERFACE" since it's only one.
Tested: Inspection only.
Tool Disclosure: bug was found (but not fixed) by a bot (CodeRabbit)
Change-Id: Ib48d41f44e96064a7211244803390ccb4160df50 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| 1b811f7b | 07-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
meson: remove requirement for python3, realpath
meson.build looks for these programs but i could not find a single usage of these programs in the repo.
Change-Id: I8da949a67ebaf74b0a239b5c5551b7d5a
meson: remove requirement for python3, realpath
meson.build looks for these programs but i could not find a single usage of these programs in the repo.
Change-Id: I8da949a67ebaf74b0a239b5c5551b7d5a57284b1 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| 68e204c6 | 07-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
remove #ifdef preprocessor usage
Using the preprocessor is not necessary for led-manager use-cases and prevents static analysis since only 1 configuration is built in our CI.
Replace `conf.set` wit
remove #ifdef preprocessor usage
Using the preprocessor is not necessary for led-manager use-cases and prevents static analysis since only 1 configuration is built in our CI.
Replace `conf.set` with `conf.set10` [1] to #define symbols for configuration options so we can branch on them.
Also refactor a few object constructions to avoid changing their scope.
Inspecting `build/config.h`:
Before: ``` ... #undef MONITOR_OPERATIONAL_STATUS #define PERSISTENT_LED_ASSERTED #define SAVED_GROUPS_FILE "/var/lib/phosphor-led-manager/savedGroups" #define USE_LAMP_TEST ```
After: ``` ... #define MONITOR_OPERATIONAL_STATUS 0 #define PERSISTENT_LED_ASSERTED 1 #define SAVED_GROUPS_FILE "/var/lib/phosphor-led-manager/savedGroups" #define USE_LAMP_TEST 1 ```
Replace `#ifdef` with `if constexpr`.
Tested: on Tyan S8030
led-manager parses its configuration and populates it's DBus interfaces. Logs show no errors.
``` root@s8030-bmc-30303035c0c1:~# busctl tree xyz.openbmc_project.LED.GroupManager `- /xyz `- /xyz/openbmc_project `- /xyz/openbmc_project/led `- /xyz/openbmc_project/led/groups |- /xyz/openbmc_project/led/groups/bmc_booted |- /xyz/openbmc_project/led/groups/enclosure_fault |- /xyz/openbmc_project/led/groups/enclosure_identify `- /xyz/openbmc_project/led/groups/power_on root@s8030-bmc-30303035c0c1:~# busctl introspect xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/enclosure_identify NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Led.Group interface - - - .Asserted property b false emits-change writable root@s8030-bmc-30303035c0c1:~# journalctl -u xyz.openbmc_project.LED.GroupManager Apr 03 20:35:38 s8030 systemd[1]: Starting Phosphor LED Group Management Daemon... Apr 03 20:35:52 s8030 systemd[1]: Started Phosphor LED Group Management Daemon. ```
Asserting the LED Group is successful
``` root@s8030-bmc-30303035c0c1:~# busctl introspect xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/enclosure_identify NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Led.Group interface - - - .Asserted property b true emits-change writable ```
References:
[1] https://mesonbuild.com/Reference-manual_returned_cfg_data.html#cfg_dataset10
Change-Id: If881144123f313ed7be7e5ccd20ddf51c2e3ac34 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| b3c7d376 | 07-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
remove ifdef around includes
These includes do not overwrite each other since the declarations are namespaced. No need to use the preprocessor here.
Using the preprocessor is bad for static analysi
remove ifdef around includes
These includes do not overwrite each other since the declarations are namespaced. No need to use the preprocessor here.
Using the preprocessor is bad for static analysis coverage since only one configuration will be built in our CI.
Tested: Inspection only.
Change-Id: I9084346a80c6af7ddfbd608c6cb6b74d7706eace Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| dd5fa9f2 | 07-Jan-2026 |
Alexander Hansen <alexander.hansen@9elements.com> |
meson: remove meson option 'use-json'
In a previous change, support for yaml configuration was removed. Remove the leftover meson option which is unused now.
Tested: clean build succeeds
Fixes: 89
meson: remove meson option 'use-json'
In a previous change, support for yaml configuration was removed. Remove the leftover meson option which is unused now.
Tested: clean build succeeds
Fixes: 89caaaf07603 ("meson: remove yaml configuration") Change-Id: I2701345d99c2a8d4b3c5a9326f5ae45d2fe01962 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| 89caaaf0 | 30-Jan-2025 |
Alexander Hansen <alexander.hansen@9elements.com> |
meson: remove yaml configuration
In the long term interest of the project, remove the option to use yaml configuration.
It's been causing too many issues and inconsistencies regarding led names and
meson: remove yaml configuration
In the long term interest of the project, remove the option to use yaml configuration.
It's been causing too many issues and inconsistencies regarding led names and the limitations of the yaml configuration format. It also makes it harder to further develop led-manager as all configuration related features have to be developed and tested twice. [1],[2],[3],[4]
It's expected to be simpler for users to only have one way to configure the led-manager and the run-time json configuration is more flexible for development.
Looking forward, the json configuration will also more easily migrate to EM configuration, allowing to implement dynamic configuration for led-manager in the future.
The tradeoff is that there is a small delay for the led-manager to parse its configuration.
The existing yaml configs have been ported [5] on a best-effort basis. It will rely on platform maintainers to chip in and help since yocto layers can be difficult to patch and understand their structure.
Tested: Unit tests pass. Help welcome to test and review [5]
References:
[1] https://gerrit.openbmc.org/c/openbmc/phosphor-led-sysfs/+/57455/comments/b3327528_005dec78 [2] https://gerrit.openbmc.org/c/openbmc/phosphor-led-sysfs/+/77238 [3] https://gerrit.openbmc.org/c/openbmc/phosphor-led-manager/+/74349 [4] https://gerrit.openbmc.org/c/openbmc/phosphor-led-manager/+/77230 [5] https://gerrit.openbmc.org/c/openbmc/openbmc/+/78131
Change-Id: Ic4047d192a6086bcbc5a483611024442779b1e89 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| 94911b26 | 29-Dec-2025 |
George Liu <liuxiwei@ieisystem.com> |
Remove unreachable return in loadJsonConfig
The loadJsonConfig() function always returns from a valid version case or throws an exception for unsupported versions. The trailing return statement is u
Remove unreachable return in loadJsonConfig
The loadJsonConfig() function always returns from a valid version case or throws an exception for unsupported versions. The trailing return statement is unreachable and misleading.
Change-Id: I27ff767cb5c0ccd82a1cc3422c56eeca7eb7ad56 Signed-off-by: George Liu <liuxiwei@ieisystem.com>
show more ...
|
| 28f013a1 | 04-Nov-2025 |
George Liu <liuxiwei@ieisystem.com> |
Remove is_method_error method
Remove the usage of is_method_error()[1], and add try-catch to handle D-Bus exceptions around mapper call.
[1]: https://github.com/openbmc/sdbusplus/commit/079fb85a398
Remove is_method_error method
Remove the usage of is_method_error()[1], and add try-catch to handle D-Bus exceptions around mapper call.
[1]: https://github.com/openbmc/sdbusplus/commit/079fb85a398d90800935e3985bb1266a7530a26e#diff-945669e8bd9cab4ecc83a574a732921281b2c79eb8bba65efff11736ad18f92bR237-R240
Change-Id: I46c8b7adf460acd15d22e627536733385a58715f Signed-off-by: George Liu <liuxiwei@ieisystem.com>
show more ...
|
| e7f6cd96 | 30-Oct-2025 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
systemd: restart on-failure
Restart=always prevents application shutdown when exiting cleanly.
Change-Id: Id1e6a29f0bf42fe54c661efe9cc2245a3e9b78fc Signed-off-by: Brad Bishop <bradleyb@fuzziesquirr
systemd: restart on-failure
Restart=always prevents application shutdown when exiting cleanly.
Change-Id: Id1e6a29f0bf42fe54c661efe9cc2245a3e9b78fc Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
| d5cac5bf | 07-Aug-2025 |
William de Abreu Pinho <williamdapinho@gmail.com> |
use busctl set-property in led group start/stop services
This change replaces `busctl call` with `busctl set-property` in LED group start and stop service units, aligning with its intended use.
Tes
use busctl set-property in led group start/stop services
This change replaces `busctl call` with `busctl set-property` in LED group start and stop service units, aligning with its intended use.
Tested:
Loaded the image with the changes into qemu:
``` root@bmc:~# busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/fan0_ok xyz.openbmc_project.Led.Group Asserted b true root@bmc:~# systemctl status obmc-led-group-start@fan0_ok.service * obmc-led-group-start@fan0_ok.service - Assert fan0_ok LED Loaded: loaded (/usr/lib/systemd/system/obmc-led-group-start@.service; static) Active: active (exited) since Thu 2025-08-07 08:27:53 PDT; 47min ago Invocation: 3f0768ed25bb4056806304548f2e6759 Process: 1306 ExecStart=/bin/sh -c busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/fan0_ok xyz.openbmc_project.Led.Group Asserted b true (code=exited, status=0/SUCCESS) Main PID: 1306 (code=exited, status=0/SUCCESS) Mem peak: 804K CPU: 444ms Aug 07 08:27:51 bmc systemd[1]: Starting Assert fan0_ok LED... Aug 07 08:27:53 bmc systemd[1]: Finished Assert fan0_ok LED. root@bmc:~# systemctl stop obmc-led-group-start@fan0_ok.service root@bmc:~# busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/fan0_ok xyz.openbmc_project.Led.Group Asserted b true root@bmc:~# systemctl status obmc-led-group-start@fan0_ok.service * obmc-led-group-start@fan0_ok.service - Assert fan0_ok LED Loaded: loaded (/usr/lib/systemd/system/obmc-led-group-start@.service; static) Active: inactive (dead) Aug 07 08:27:51 bmc systemd[1]: Starting Assert fan0_ok LED... Aug 07 08:27:53 bmc systemd[1]: Finished Assert fan0_ok LED. Aug 07 09:15:16 bmc systemd[1]: obmc-led-group-start@fan0_ok.service: Deactivated successfully. Aug 07 09:15:16 bmc systemd[1]: Stopped Assert fan0_ok LED. root@bmc:~# systemctl start obmc-led-group-stop@fan0_ok.service root@bmc:~# busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/fan0_ok xyz.openbmc_project.Led.Group Asserted b false ```
This shows that the property was successfully modified via D-Bus using set-property.
Change-Id: I0033c892a3c227aa3c14a013f162f1b00f5ee542 Signed-off-by: William de Abreu Pinho <williamdapinho@gmail.com>
show more ...
|
| ccca8eb3 | 06-Aug-2025 |
William de Abreu Pinho <williamdapinho@gmail.com> |
Fix obmc-fru-fault-monitor.service ExecStart path
A previous patch introduced a bug in the obmc-fru-fault-monitor service file where the ExecStart path was missing a leading slash. As a result, syst
Fix obmc-fru-fault-monitor.service ExecStart path
A previous patch introduced a bug in the obmc-fru-fault-monitor service file where the ExecStart path was missing a leading slash. As a result, systemd failed to locate the executable.
This patch corrects the path by adding the missing slash.
Tested: Checked that the service is correctly loaded, and that the binary is present: ``` root@bmc:/usr/libexec/phosphor-led-manager# systemctl status obmc-fru-fault-monitor.service * obmc-fru-fault-monitor.service - FRU Fault monitor service Loaded: loaded (/usr/lib/systemd/system/obmc-fru-fault-monitor.service; disabled; preset: disabled) Active: inactive (dead) root@bmc:/usr/libexec/phosphor-led-manager# ls | grep fru phosphor-fru-fault-monitor ```
Change-Id: I07e1558b7e3cf5b5517c1c4c075ea15d67a4f7f6 Signed-off-by: William de Abreu Pinho <williamdapinho@gmail.com>
show more ...
|
| bdfaa4dc | 18-Jun-2025 |
William de Abreu Pinho <williamdapinho@gmail.com> |
move service files from Yocto layer
This change relocates phosphor-led-manager service files from the Yocto layer to the phosphor-led-manager repository. It also ensures that non-user executables ar
move service files from Yocto layer
This change relocates phosphor-led-manager service files from the Yocto layer to the phosphor-led-manager repository. It also ensures that non-user executables are installed in the libexec.
[1]: https://github.com/openbmc/docs/blob/master/anti-patterns.md#incorrect-placement-of-executables-in-sbin-usrsbin-or-bin-usrbin
Tested: ``` $ find /tmp/phosphor-led-manager/ | grep libexec /tmp/phosphor-led-manager/usr/local/libexec /tmp/phosphor-led-manager/usr/local/libexec/phosphor-led-manager /tmp/phosphor-led-manager/usr/local/libexec/phosphor-led-manager/phosphor-ledmanager /tmp/phosphor-led-manager/usr/local/libexec/phosphor-led-manager/phosphor-fru-fault-monitor $ find /tmp/phosphor-led-manager -type f | grep service /tmp/phosphor-led-manager/usr/lib/systemd/system/obmc-fru-fault-monitor.service /tmp/phosphor-led-manager/usr/lib/systemd/system/obmc-led-group-start@.service /tmp/phosphor-led-manager/usr/lib/systemd/system/obmc-led-group-stop@.service /tmp/phosphor-led-manager/usr/lib/systemd/system/xyz.openbmc_project.LED.GroupManager.service ```
Change-Id: Id34402c5d4ec40a6bb72f0a349c6dfb5ed1929e2 Signed-off-by: William de Abreu Pinho <williamdapinho@gmail.com>
show more ...
|
| 0c0944d1 | 30-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-tidy: format with config-clang-tidy
Reformat the .clang-tidy file for consistency using the config-clang-tidy tool from openbmc-build-scripts.
Change-Id: Ia4a8b95464ab203592ecda3c50c308a0e9aa
clang-tidy: format with config-clang-tidy
Reformat the .clang-tidy file for consistency using the config-clang-tidy tool from openbmc-build-scripts.
Change-Id: Ia4a8b95464ab203592ecda3c50c308a0e9aab7c2 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
| 858e5731 | 14-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
manager: rate limit dbus errors
If there is a misconfiguration between sysfs and led-manager, the manager will be very spammy about dbus errors at it tries to update the sysfs value. Rate limit thi
manager: rate limit dbus errors
If there is a misconfiguration between sysfs and led-manager, the manager will be very spammy about dbus errors at it tries to update the sysfs value. Rate limit this to once per hour per LED.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I2896377ff64318159ca3963d09c2ab5bf7452862
show more ...
|
| 4e93c860 | 14-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
manager: remove unused bus member
Fix the following clang warning:
``` ../manager/manager.hpp:140:23: error: private field 'bus' is not used [-Werror,-Wunused-private-field] 140 | sdbusplus::
manager: remove unused bus member
Fix the following clang warning:
``` ../manager/manager.hpp:140:23: error: private field 'bus' is not used [-Werror,-Wunused-private-field] 140 | sdbusplus::bus_t& bus; | ^ ```
I could have removed the bus entirely from the member, but I don't really like that the utilities create their own bus connection, so I'll likely refactor that in the future. There is no point to remove the parameter only to add it back in.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I12b6a4ea51ea0a375c0f4652acfc4472ab0a0944
show more ...
|
| 32642448 | 14-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
fault-monitor: fix clang warnings
Fix the following clang-warnings: ``` fault-monitor/operational-status-monitor.hpp:36:14: error: explicitly defaulted move assignment operator is implicitly deleted
fault-monitor: fix clang warnings
Fix the following clang-warnings: ``` fault-monitor/operational-status-monitor.hpp:36:14: error: explicitly defaulted move assignment operator is implicitly deleted [clang-diagnostic-defaulted-function-deleted] 36 | Monitor& operator=(Monitor&&) = default; | ^ fault-monitor/operational-status-monitor.hpp:56:23: note: move assignment operator of 'Monitor' is implicitly deleted because field 'bus' is of reference type 'sdbusplus::bus_t &' (aka 'sdbusplus::bus::bus &') 56 | sdbusplus::bus_t& bus; | ^ fault-monitor/operational-status-monitor.hpp:36:37: note: replace 'default' with 'delete' 36 | Monitor& operator=(Monitor&&) = default; | ^~~~~~~ | delete fault-monitor/operational-status-monitor.hpp:50:22: error: lambda capture 'this' is not used [clang-diagnostic-unused-lambda-capture] 50 | [this](sdbusplus::message_t& m) { matchHandler(m); }) | ^~~~ fault-monitor/operational-status-monitor.hpp:56:23: error: private field 'bus' is not used [clang-diagnostic-unused-private-field] 56 | sdbusplus::bus_t& bus; | ^ fault-monitor/operational-status-monitor.hpp:62:17: error: private field 'dBusHandler' is not used [clang-diagnostic-unused-private-field] 62 | DBusHandler dBusHandler; | ^ ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ia892c5e9c38d3174a18d2d3add8484b73b4a58db
show more ...
|
| 35dbea59 | 14-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-tidy: disable readability-named-parameter
'readability-named-parameter' is from the Google C++ coding standards and is not enforced in OpenBMC, so disable it. Also update the HeaderFilterRege
clang-tidy: disable readability-named-parameter
'readability-named-parameter' is from the Google C++ coding standards and is not enforced in OpenBMC, so disable it. Also update the HeaderFilterRegex to match the value from the docs repository reference.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I186b0c758fde0cc434623567d15f4f730ce57b95
show more ...
|
| 275ad18a | 03-Mar-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: Ied103a88e82b2e565c5e5608a5cb6bd0ba67780a Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: Ied103a88e82b2e565c5e5608a5cb6bd0ba67780a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|