From 427bae5ebb32dc6e898b08c7c03ca5a7e9c1c0f9 Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Wed, 22 Apr 2026 17:15:28 +0200 Subject: [PATCH] patches: replace non-ASCII punctuation with ASCII equivalents Em-dashes (U+2014), en-dashes (U+2013), and arrow glyphs (U+2192, U+2194) leaked into commit messages and the cover letter. Linux kernel patches are expected to be plain ASCII. Substitute: -- for em-dash - for en-dash -> for rightward arrow <-> for left-right arrow Applied to both staging-prep-series/ (Mobian paths) and staging-prep-series-danctnix/ (drivers/staging/bes2600/ paths). checkpatch.pl --no-tree --strict: 0/0/0 on all 12 patches. --- .../0000-cover-letter.patch | 36 +++++++++---------- ...STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch | 2 +- ...ONFIG_BES2600_TESTMODE-by-default-fi.patch | 2 +- .../0000-cover-letter.patch | 32 ++++++++--------- ...STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch | 2 +- ...ONFIG_BES2600_TESTMODE-by-default-fi.patch | 2 +- 6 files changed, 38 insertions(+), 38 deletions(-) diff --git a/patches/staging-prep-series-danctnix/0000-cover-letter.patch b/patches/staging-prep-series-danctnix/0000-cover-letter.patch index 8c2d2cfa0..f238102ac 100644 --- a/patches/staging-prep-series-danctnix/0000-cover-letter.patch +++ b/patches/staging-prep-series-danctnix/0000-cover-letter.patch @@ -17,8 +17,8 @@ prefer to apply there and propagate to the danctnix in-tree copy. ## Background The BES2600 Linux driver descends from the ST-Ericsson CW1200 driver in -mainline (`drivers/net/wireless/st/cw1200/`). Same author — Dmitry -Tarnyagin; shared WSM host↔firmware protocol plumbing; shared SDIO bus +mainline (`drivers/net/wireless/st/cw1200/`). Same author -- Dmitry +Tarnyagin; shared WSM host<->firmware protocol plumbing; shared SDIO bus backend. Kconfig ancestry markers survive: `CONFIG_BES2600_USE_STE_EXTENSIONS` (STE = ST-Ericsson), `CONFIG_BES2600_WSM_DEBUG` (WSM). ST-Ericsson was wound down in 2013; Bestechnic (founded 2015) appears to have inherited @@ -32,14 +32,14 @@ preserves dependencies. ## What the series does -* 1/6 — Replace `filp_open()` + `kernel_read()` in the factory- +* 1/6 -- Replace `filp_open()` + `kernel_read()` in the factory- calibration read path with `request_firmware()`. Repoint the FACTORY_PATH macro to the firmware-class name (`bes2600/bes2600_factory.txt`). Kills a kernel-mainline anti-pattern and the `(NULL device *): read and check /lib/firmware/bes2600_factory.txt error` boot spam. -* 2/6 — Default `STANDARD_FACTORY_EFUSE_FLAG` from y to n. The shipped +* 2/6 -- Default `STANDARD_FACTORY_EFUSE_FLAG` from y to n. The shipped `bes2600_factory.txt` on PineTab2 contains 30 calibration fields; the driver was expecting 31 (including a `##select_efuse_flag` section absent from this firmware). Also unguards the @@ -48,27 +48,27 @@ preserves dependencies. while its definition in `wsm.c` and its call site in `sta.c` were ungated. -* 3/6 — Thread `struct device *` through `factory_section_read_file()` +* 3/6 -- Thread `struct device *` through `factory_section_read_file()` via a module-local setter invoked at SDIO probe. `request_firmware()` now receives a real device pointer; `(NULL device *):` no longer prefixes factory-related diagnostics. -* 4/6 — Gate the device-end of the low-power transition on successful +* 4/6 -- Gate the device-end of the low-power transition on successful per-VIF firmware handshake. Pre-patch: `bes2600_pwr_enter_lp_mode()` called `bes2600_pwr_device_enter_lp_mode()` unconditionally even when `wait_for_completion_timeout()` returned 0. On PineTab2 this recurred - every 5–10 s in idle-associated state, flooded dmesg, and cascaded + every 5-10 s in idle-associated state, flooded dmesg, and cascaded into `sdio_tx_work` WARN splats. Post-patch: `-ETIMEDOUT` returned cleanly, dmesg silent, SDIO stable. -* 5/6 — Remove the custom `/dev/bes2600` character-device interface. +* 5/6 -- Remove the custom `/dev/bes2600` character-device interface. `file_operations`, open/read/write/release, `bes2600_op_*` command- dispatch table, `bes2600_load_uevent`, cdev registration in the init - path — 519 lines deleted. In-kernel accessors (`is_signal_mode`, + path -- 519 lines deleted. In-kernel accessors (`is_signal_mode`, `get_fw_type`, etc., 13 call sites) and the `fw_type` module parameter are preserved. -* 6/6 — Flip `CONFIG_BES2600_TESTMODE` default from n to y. Also fixes +* 6/6 -- Flip `CONFIG_BES2600_TESTMODE` default from n to y. Also fixes accumulated bit-rot revealed by enabling the flag: shim macros in `bes_log.h` for the legacy `bes2600_info/err/warn/dbg/err_with_cond` family, `BES2600_DBG_*` constants defined as 0, 3 TSM/roam-delay @@ -83,13 +83,13 @@ applied, verified over 3+ reboots: WiFi associates and passes traffic on both 2.4 GHz (newton / ch11) and 5 GHz (TelekomHotspot@ERGO / ch36). Per-patch outcomes in post-reboot dmesg: -- 1/6: `read and check /lib/firmware/bes2600_factory.txt error` — gone -- 2/6: `bes2600_factory.txt parse fail` / `factory cali data get failed.` — gone -- 3/6: `(NULL device *):` prefix on factory lines — gone -- 4/6: `wait pm ind timeout` (pre-patch 20–30 msgs / 5 min) — 0 per 5 min; - `sdio_tx_work` WARN splat (pre-patch 2+ / 5 min) — 0 per 5 min; - `[RX] Receive failure: 4.` — gone -- 5/6: `/dev/bes2600` — absent; driver continues to associate +- 1/6: `read and check /lib/firmware/bes2600_factory.txt error` -- gone +- 2/6: `bes2600_factory.txt parse fail` / `factory cali data get failed.` -- gone +- 3/6: `(NULL device *):` prefix on factory lines -- gone +- 4/6: `wait pm ind timeout` (pre-patch 20-30 msgs / 5 min) -- 0 per 5 min; + `sdio_tx_work` WARN splat (pre-patch 2+ / 5 min) -- 0 per 5 min; + `[RX] Receive failure: 4.` -- gone +- 5/6: `/dev/bes2600` -- absent; driver continues to associate - 6/6: `iw phy0` lists `testmode` under *Supported commands* ## Known limitations / out of scope @@ -98,7 +98,7 @@ Per-patch outcomes in post-reboot dmesg: for calibration persistence. Conversion to debugfs/nl80211 is a follow-up. - `bes_chardev.c` still contains DPD-to-file read/write paths (gated by - `BES2600_WRITE_DPD_TO_FILE`, off by default — dead code in default + `BES2600_WRITE_DPD_TO_FILE`, off by default -- dead code in default builds). Same treatment needed. - `bes_fw.c:587` unconditionally creates `/lib/firmware/bes2002_fw_write.bin` via `filp_open()` for debug diff --git a/patches/staging-prep-series-danctnix/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch b/patches/staging-prep-series-danctnix/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch index 3a61017cb..d59ac0029 100644 --- a/patches/staging-prep-series-danctnix/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch +++ b/patches/staging-prep-series-danctnix/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch @@ -38,7 +38,7 @@ inconsistently wrapped in a conditional that keyed on STANDARD_FACTORY_EFUSE_FLAG, but the function definition in wsm.c and the call site in sta.c are ungated. With the flag now defaulting to n, the gcc -Werror=missing-prototypes flag breaks the build. Drop the -conditional wrapper around the prototype — the function exists and is +conditional wrapper around the prototype -- the function exists and is used regardless of the factory-parse flag. Tested-on: PineTab2 (BES2600WM + RK3566) running linux-pinetab2 diff --git a/patches/staging-prep-series-danctnix/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch b/patches/staging-prep-series-danctnix/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch index 4a0e8005b..34a3699a4 100644 --- a/patches/staging-prep-series-danctnix/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch +++ b/patches/staging-prep-series-danctnix/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch @@ -10,7 +10,7 @@ Content-Transfer-Encoding: 8bit The driver implements a mac80211 testmode_cmd operation that dispatches to a set of vendor commands (GET_TX_POWER_LEVEL, GET_TX_POWER_RANGE, SET_SNAP_FRAME, TSM_STATS, GET_ROAM_DELAY, GET_STREAM, etc) plus the -BES2600 RF-test path (bes2600_vendor_rf_cmd → firmware +BES2600 RF-test path (bes2600_vendor_rf_cmd -> firmware patch_wifi_testMode). The testmode handlers and the .testmode_cmd binding in struct ieee80211_ops are conditionally compiled under CONFIG_BES2600_TESTMODE, which previously defaulted to n. diff --git a/patches/staging-prep-series/0000-cover-letter.patch b/patches/staging-prep-series/0000-cover-letter.patch index bfa3cb00e..a9f5fd24e 100644 --- a/patches/staging-prep-series/0000-cover-letter.patch +++ b/patches/staging-prep-series/0000-cover-letter.patch @@ -10,7 +10,7 @@ linux-pinetab2 fork). Target hardware is the Pine64 PineTab2 (RK3566 + BES2600WM, SDIO vendor 0xBE57 / device 0x2002). The driver descends from the ST-Ericsson CW1200 (drivers/net/wireless/ -st/cw1200/) — same author, Dmitry Tarnyagin, shared WSM host↔firmware +st/cw1200/) -- same author, Dmitry Tarnyagin, shared WSM host<->firmware protocol, shared SDIO bus backend. Kconfig ancestry markers survive in this tree today: CONFIG_BES2600_USE_STE_EXTENSIONS (STE = ST-Ericsson), CONFIG_BES2600_WSM_DEBUG (WSM). ST-Ericsson wound down in 2013; @@ -24,29 +24,29 @@ dependencies. ## What the series does -* 1/6 — Replace filp_open() + kernel_read() in the factory-calibration +* 1/6 -- Replace filp_open() + kernel_read() in the factory-calibration read path with request_firmware(). Repoint the FACTORY_PATH macro to the firmware-class name (bes2600/bes2600_factory.txt, matching the /lib/firmware/ layout). Kills a kernel-mainline anti-pattern and the '(NULL device *): read and check /lib/firmware/bes2600_factory.txt error' boot spam on PineTab2. -* 2/6 — Default STANDARD_FACTORY_EFUSE_FLAG from y to n. The shipped +* 2/6 -- Default STANDARD_FACTORY_EFUSE_FLAG from y to n. The shipped bes2600_factory.txt on PineTab2 contains 30 calibration fields; the driver was expecting 31 (including a ##select_efuse_flag section absent from this firmware). Also unguards the wsm_save_factory_txt_to_mcu() prototype in wsm.h which was inconsistently wrapped in '#if defined(STANDARD_FACTORY_EFUSE_FLAG)' while its definition in wsm.c and its call site in sta.c were - ungated — gcc -Werror=missing-prototypes broke the build with the + ungated -- gcc -Werror=missing-prototypes broke the build with the new default until this is fixed. -* 3/6 — Thread struct device * through factory_section_read_file() via +* 3/6 -- Thread struct device * through factory_section_read_file() via a module-local setter invoked at SDIO probe. request_firmware() now receives a real device pointer; '(NULL device *):' no longer prefixes factory-related diagnostics. -* 4/6 — Gate the device-end of the low-power transition on successful +* 4/6 -- Gate the device-end of the low-power transition on successful per-VIF firmware handshake. Pre-patch bes2600_pwr_enter_lp_mode() called bes2600_pwr_device_enter_lp_mode() unconditionally even when wait_for_completion_timeout() returned 0 (firmware never posted the @@ -56,21 +56,21 @@ dependencies. messages. Post-patch: -ETIMEDOUT returned cleanly, dmesg silent, SDIO stable. -* 5/6 — Remove the custom /dev/bes2600 character-device interface. +* 5/6 -- Remove the custom /dev/bes2600 character-device interface. file_operations, open/read/write/release, bes2600_op_* command-dispatch table, bes2600_load_uevent, alloc_chrdev_region / cdev_init / cdev_add / class_create / device_create in the init - path, and the matching teardown in bes2600_chrdev_free — 519 lines + path, and the matching teardown in bes2600_chrdev_free -- 519 lines deleted. The in-kernel accessor functions (is_signal_mode, get_fw_type, etc., 13 call sites) and the fw_type module parameter are preserved; the userspace interface becomes rfkill + module_param + (with 6/6) nl80211 testmode. -* 6/6 — Flip CONFIG_BES2600_TESTMODE default from n to y. The driver +* 6/6 -- Flip CONFIG_BES2600_TESTMODE default from n to y. The driver already implements a mac80211 testmode_cmd dispatcher (routing to the firmware's patch_wifi_testMode path), already gated on the flag; CONFIG_NL80211_TESTMODE=y is common on target kernels. Enabling the - flag also exposes accumulated bit-rot — ~41 calls to undefined + flag also exposes accumulated bit-rot -- ~41 calls to undefined bes2600_info/err/warn/dbg/err_with_cond macros, and 3 TSM/roam-delay helpers with external linkage but no prototype. Add shim macros to bes_log.h rewiring the legacy calls onto the existing bes_info / @@ -88,15 +88,15 @@ CONFIG_NL80211_TESTMODE=y. Driver installed via /lib/modules//extra/ and verified loaded via modinfo srcversion. Per-patch outcomes in post-reboot dmesg (full-stack applied): -- 1/6: 'read and check /lib/firmware/bes2600_factory.txt error' — gone +- 1/6: 'read and check /lib/firmware/bes2600_factory.txt error' -- gone - 2/6: 'bes2600_factory.txt parse fail' / 'factory cali data get - failed.' — gone -- 3/6: '(NULL device *):' prefix on factory lines — gone + failed.' -- gone +- 3/6: '(NULL device *):' prefix on factory lines -- gone - 4/6: 'bes2600_pwr_enter_lp_mode, wait pm ind timeout' (pre-patch 20-30 - msgs / 5 min window) — 0 per 5 min; 'sdio_tx_work' WARN splat - (pre-patch 2+ / 5 min) — 0 per 5 min; '[RX] Receive failure: 4.' — + msgs / 5 min window) -- 0 per 5 min; 'sdio_tx_work' WARN splat + (pre-patch 2+ / 5 min) -- 0 per 5 min; '[RX] Receive failure: 4.' -- gone -- 5/6: /dev/bes2600 — absent; driver continues to associate +- 5/6: /dev/bes2600 -- absent; driver continues to associate - 6/6: 'iw phy0' lists 'testmode' under Supported commands; module builds cleanly diff --git a/patches/staging-prep-series/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch b/patches/staging-prep-series/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch index 56b0719e3..b53f9d364 100644 --- a/patches/staging-prep-series/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch +++ b/patches/staging-prep-series/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-.patch @@ -38,7 +38,7 @@ inconsistently wrapped in a conditional that keyed on STANDARD_FACTORY_EFUSE_FLAG, but the function definition in wsm.c and the call site in sta.c are ungated. With the flag now defaulting to n, the gcc -Werror=missing-prototypes flag breaks the build. Drop the -conditional wrapper around the prototype — the function exists and is +conditional wrapper around the prototype -- the function exists and is used regardless of the factory-parse flag. Tested-on: PineTab2 (BES2600WM + RK3566) running linux-pinetab2 diff --git a/patches/staging-prep-series/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch b/patches/staging-prep-series/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch index 23da96940..aec6a59c2 100644 --- a/patches/staging-prep-series/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch +++ b/patches/staging-prep-series/0006-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fi.patch @@ -10,7 +10,7 @@ Content-Transfer-Encoding: 8bit The driver implements a mac80211 testmode_cmd operation that dispatches to a set of vendor commands (GET_TX_POWER_LEVEL, GET_TX_POWER_RANGE, SET_SNAP_FRAME, TSM_STATS, GET_ROAM_DELAY, GET_STREAM, etc) plus the -BES2600 RF-test path (bes2600_vendor_rf_cmd → firmware +BES2600 RF-test path (bes2600_vendor_rf_cmd -> firmware patch_wifi_testMode). The testmode handlers and the .testmode_cmd binding in struct ieee80211_ops are conditionally compiled under CONFIG_BES2600_TESTMODE, which previously defaulted to n.