Files
RedBear-OS/local
vasilito b324cf67ef quirks: implement R10 — HID quirk infrastructure
Mirrors Linux 7.1 drivers/hid/hid-quirks.c. Adds:

- HidQuirkFlags bitflags (24 bits matching include/linux/hid.h, with
  bit gaps at 0/8/9/15/24-27 for removed/renamed upstream flags)
- HidQuirkEntry struct (vendor:u16, product:u16, flags:HidQuirkFlags)
- hid_table.rs with 191 compiled-in entries (hid_quirks[] array, lines
  27-223 of Linux 7.1 source). 2 of the 191 are HID_BLUETOOTH_DEVICE
  and kept for forward compatibility with the Bluetooth HID transport
- 5 F_NN const helpers for the unique multi-flag OR combinations
  (NOGET|MULTI_INPUT, NO_INIT_REPORTS|ALWAYS_POLL, etc.)
- HID_QUIRK_FLAG_NAMES const (24 names) for TOML parsing
- load_hid_quirks(), read_toml_hid_entries(), parse_hid_toml() — the
  [[hid_quirk]] TOML section mirrors [[usb_quirk]] structure
- lookup_hid_quirks(vendor, product) public API mirrors lookup_usb_quirks

Test count: 106 -> 114 (+8 R10 tests).
Clippy: 30 warnings (was 29; +1 from new load_hid_quirks Result<_, ()>).

Note: the upstream 24-flag count is exact (matches include/linux/hid.h),
but only 9 of the 24 are actually populated in hid_quirks[]. The other
15 are reserved for future hardware and runtime TOML overrides.

Consumer wiring (lookup_hid_quirks call site in usbhidd/evdevd) is
out of scope for this commit and tracked in
local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md.
2026-06-07 13:14:04 +03:00
..