clang-format: re-format for clang-19

clang-format-19 isn't compatible with the clang-format-18 output, so we
need to reformat the code with the latest version.  A few parameters
in clang-tidy have been deprecated, so adjust the style file
accordingly.

See Ie2f6eb3b043f2d655c9df806815afd7971fd0947 for updated style.
See I88192b41ab7a95599a90915013579608af7bc56f for clang-19 enablement.

Change-Id: Ided2858bda48e0c7ffa036558e40c8ad1aad4777
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
1 file changed
tree: 6867bc291e5dcf97337e5c460ab9583184ef8380
  1. dbus-1/
  2. interfaces/
  3. subprojects/
  4. systemd/
  5. test/
  6. udev/
  7. .clang-format
  8. .clang-tidy
  9. .gitignore
  10. add_led_action.cpp
  11. argument.cpp
  12. argument.hpp
  13. controller.cpp
  14. LICENSE
  15. meson.build
  16. meson.options
  17. OWNERS
  18. physical.cpp
  19. physical.hpp
  20. README.md
  21. sysfs.cpp
  22. sysfs.hpp
README.md

phosphor-led-sysfs

This project exposes physical LEDs on dbus.

Example

Say we have 'identify' LED in our system, which may be declared in devicetree.

leds {
    compatible = "gpio-leds";

    identify {
        gpios = <&gpio ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
    };
};

We can add an LED via the helper program. The main service is then started via dbus-activation.

./add-led-action --path /sys/class/leds/identify

which will expose following dbus objects:

busctl tree xyz.openbmc_project.LED.Controller
`- /xyz
  `- /xyz/openbmc_project
    `- /xyz/openbmc_project/led
      `- /xyz/openbmc_project/led/physical
        `- /xyz/openbmc_project/led/physical/identify

busctl introspect  xyz.openbmc_project.LED.Controller /xyz/openbmc_project/led/physical/identify
NAME                                TYPE      SIGNATURE  RESULT/VALUE                             FLAGS
...
xyz.openbmc_project.Led.Physical    interface -          -                                        -
.Color                              property  s          "xyz.openbmc_project.Led.Physical.Pal... emits-change writable
.DutyOn                             property  y          50                                       emits-change writable
.Period                             property  q          1000                                     emits-change writable
.State                              property  s          "xyz.openbmc_project.Led.Physical.Act... emits-change writable

In the above output, the usual org.freedesktop.* interfaces have been removed to keep it readable.

Example: using the dbus interface

Query the LED State

busctl get-property  xyz.openbmc_project.LED.Controller \
/xyz/openbmc_project/led/physical/identify \
xyz.openbmc_project.Led.Physical State \
s "xyz.openbmc_project.Led.Physical.Action.Off"

Set the LED State

busctl set-property  xyz.openbmc_project.LED.Controller \
/xyz/openbmc_project/led/physical/identify \
xyz.openbmc_project.Led.Physical State s \
"xyz.openbmc_project.Led.Physical.Action.Off"

How to Build

meson setup build
cd build
ninja