Files
RedBear-OS/local
vasilito 00e1c9ea16 quirks: Platform DMI dispatch infrastructure + 31-entry data file (R13)
Phase R13 (2026-06-07) — Laptop/Embedded DMI quirks. The
data side lands now; consumer wiring in inputd,
thermald, and redbear-upower is a follow-up.

Changes:

  1. PlatformDmiQuirkFlags (mod.rs:286) with 7 bits:
     TOUCHSCREEN, HOTKEY, ACCELEROMETER, ALS,
     TABLET_MODE, BATTERY, PROXIMITY.

  2. PlatformSubsystem enum (mod.rs:316) — dispatch label
     for TOML and consumers. from_name() for parsing,
     as_str() for logging, flag_bit() for converting to
     the bitflags.

  3. PlatformDmiQuirkRule (dmi.rs:566) — DMI match +
     subsystem. Each entry fires one subsystem.

  4. load_platform_dmi_quirks() (dmi.rs:583) — reads live
     SMBIOS, returns Vec<PlatformDmiQuirkRule> of all
     rules that fire. Falls back to empty vector if DMI
     data is unavailable.

  5. read_toml_platform_dmi_entries + parse_platform_dmi_toml
     (toml_loader.rs) — new [[platform_dmi_quirk]] TOML
     table with  sub-table +  string.
     Unknown subsystem names log a warning and skip.

  6. 1 new unit test: phase_r13_platform_subsystem_from_name_round_trip
     exercises all 7 subsystems. 124/124 tests pass.

  7. quirks.d/80-platform-x86.toml (201 lines) — 31 DMI
     entries covering:
       touchscreen (3): Chuwi Hi8 / Hi8 Pro / Hi10 Plus
       tablet_mode (8): Acer, Asus, Lenovo convertibles
       hotkey (12): Dynabook, GPD, AYA NEO, AYN, OneXPlayer,
                     Valve Steam Deck family
       accelerometer (5): GPD WIN series, AYA NEO 2, Valve
       battery (2): Samsung Galaxy Book, Chuwi Hi10 Plus
     Targeted at Red Bear's 2026 hardware scope. The full
     Linux 7.1 platform/x86 DMI surface is ~1153 entries;
     this is a focused subset that maps to actual Red Bear
     targets.

cargo test: 124/124 (was 123, +1 for the new test).
cargo check: clean.

Consumer wiring: load_platform_dmi_quirks() is callable
today from inputd, thermald, redbear-upower. Each
consumer can filter on rule.subsystem to dispatch the
appropriate behavior. This is a follow-up commit.
2026-06-07 21:41:07 +03:00
..