Files
kernel-agent/patches/driver/bes2600/README.md
T
claude-noether d5893e65f0 patches/driver/bes2600: mirror besser series (closes #2)
Mirrors all 30 BES2600 patch series from marfrit/besser/patches/ into
the kernel-agent scope-tagged tree under patches/driver/bes2600/.
15 base series + 15 -danctnix siblings = 45 .patch files including
cover letters.

Per-series promotion eligibility tracked in the README (default
unset → ka-promote asks before including in a build). Markus to
update as series mature.

DKMS-to-in-tree transition path documented (drop bes2600-dkms
once series lands in mainline / DanctNIX base).

Cumulative-patch ordering caveat captured: existing order is NOT
alphabetical (A,B,C v3,F,G,D,E,C2,c5.x,c6.x,c7,H). ka-promote
needs an explicit apply_order field, not a series-name sort.
Surface when fleet/ohm.yaml lands in #5.

Acceptance criteria from #2:
  [x] All series present under driver/bes2600/
  [x] Promotion eligibility per series (table in README, defaults unset for Markus to fill)
  [ ] Manifest for ohm references driver:bes2600 scope (deferred to #5)
  [x] DKMS-to-in-tree transition path documented

Generated-by: Claude Opus 4.7 <claude@reauktion.de>
2026-05-16 16:42:42 +00:00

93 lines
6.1 KiB
Markdown

# patches/driver/bes2600/
BES2600 WiFi driver patches (`drivers/staging/bes2600/*`, mainline-bound).
Mirrored from `marfrit/besser/patches/` on 2026-05-16.
Scope tag: `driver:bes2600` (see `fleet/ohm.yaml` for the consumer).
Consumer: ohm (PineTab2, RK3566 + BES2600 SDIO).
## Series taxonomy
30 series (15 base + 15 `-danctnix` siblings). The `-danctnix`
variants exist because vanilla series don't apply on the DanctNIX
kernel base (slightly different in-tree state for `drivers/staging/bes2600/*`).
Keep both as separate series until BES2600 lands upstream, then
collapse — issue #2 acceptance criterion.
Each series directory contains numbered `.patch` files plus
optionally a `0000-cover-letter.patch` for multi-patch series.
## Promotion eligibility (per series)
Marked here for the kernel-agent CLI (`ka-promote`) to pick up.
Markus to update as series mature. Default UNSET means "ask before
including in a build".
| Series | promote_eligible | Notes |
|------------------------------------|------------------|-------------------------------------------------------------|
| `debian-copyright-fsf-address` | unset | Debian packaging metadata; not kernel-side |
| `drop-dpd-file-paths` | unset | |
| `drop-dpd-file-paths-danctnix` | unset | DanctNIX sibling |
| `drop-orphan-file-io` | unset | |
| `drop-orphan-file-io-danctnix` | unset | DanctNIX sibling |
| `enable-testmode` | unset | |
| `factory-drop-kernel-write` | unset | |
| `factory-drop-kernel-write-danctnix` | unset | DanctNIX sibling |
| `factory-series` | unset | |
| `factory-thread-dev` | unset | |
| `lmac-recover-via-mmc-hw-reset` | unset | |
| `lmac-recover-via-mmc-hw-reset-danctnix` | unset | DanctNIX sibling |
| `pm-detect-firmware-unsupported` | unset | |
| `pm-detect-firmware-unsupported-danctnix` | unset | DanctNIX sibling |
| `pm-gate-on-handshake` | unset | |
| `pm-state-resync` | unset | |
| `pm-state-resync-danctnix` | unset | DanctNIX sibling |
| `pm-timeout-silence` | unset | |
| `pm-timeout-silence-danctnix` | unset | DanctNIX sibling |
| `pm-wake-consume-state` | unset | |
| `pm-wake-consume-state-danctnix` | unset | DanctNIX sibling |
| `remove-chardev-user-interface` | unset | Cross-ref `bes_chardev` merge regression (besser #17) |
| `scan-defer-backoff-tune` | unset | |
| `scan-defer-backoff-tune-danctnix` | unset | DanctNIX sibling |
| `scan-defer-on-reject` | unset | |
| `scan-defer-on-reject-danctnix` | unset | DanctNIX sibling |
| `staging-prep-series` | unset | 7-patch cover-letter series; upstream-staging-prep work |
| `staging-prep-series-danctnix` | unset | DanctNIX sibling |
| `tx-sdio-dma-oob` | unset | |
| `tx-sdio-dma-oob-danctnix` | unset | DanctNIX sibling |
## DKMS-to-in-tree transition path
`bes2600-dkms` (Mobian fork, in `marfrit/bes2600-dkms`) is the
out-of-tree shim that ohm currently uses for the BES2600 wifi+BT.
Once these `driver/bes2600/` series land in mainline (or at least in
DanctNIX's PineTab2 kernel base):
1. ohm's manifest drops the `bes2600-dkms` package dependency
2. `kernel-agent` builds the in-tree variant via the series listed here
3. `marfrit/bes2600-dkms` repo gets archived (kept as history)
4. PineTab2 buyers from then on get bes2600 directly out of the kernel
Track the dropdown in `fleet/ohm.yaml` (`replaces_dkms: bes2600-dkms`
once the cumulative series is enough to replace it).
## Cumulative-patch generation order
The current single-patch cumulative (`0001-bes2600-besser-cumulative-series.patch`
in the existing PKGBUILD) is generated in this order on boltzmann:
A, B, C v3, F, G, D, E, C2, c5.x, c6.x, c7, H
This is NOT alphabetical — `C2` follows `E` rather than coming after
`C v3`. `ka-promote` MUST honor an explicit series-ordering field
when concatenating, not sort by series name. Field name TBD; suggest
adding `apply_order:` to `fleet/ohm.yaml` (issue #5 will surface this
when the cumulative gets regenerated).
## References
- Issue: `git.reauktion.de/marfrit/kernel-agent/issues/2`
- Source repo: `git.reauktion.de/marfrit/besser/patches/`
- Consumer: ohm (`fleet/ohm.yaml`)
- Related: `bes2600-dkms`, `linux-pinetab2-danctnix-besser` PKGBUILD