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.
This commit is contained in:
2026-04-22 17:15:28 +02:00
parent 0de9c4898e
commit 427bae5ebb
6 changed files with 38 additions and 38 deletions
@@ -17,8 +17,8 @@ prefer to apply there and propagate to the danctnix in-tree copy.
## Background ## Background
The BES2600 Linux driver descends from the ST-Ericsson CW1200 driver in The BES2600 Linux driver descends from the ST-Ericsson CW1200 driver in
mainline (`drivers/net/wireless/st/cw1200/`). Same author Dmitry mainline (`drivers/net/wireless/st/cw1200/`). Same author -- Dmitry
Tarnyagin; shared WSM hostfirmware protocol plumbing; shared SDIO bus Tarnyagin; shared WSM host<->firmware protocol plumbing; shared SDIO bus
backend. Kconfig ancestry markers survive: `CONFIG_BES2600_USE_STE_EXTENSIONS` backend. Kconfig ancestry markers survive: `CONFIG_BES2600_USE_STE_EXTENSIONS`
(STE = ST-Ericsson), `CONFIG_BES2600_WSM_DEBUG` (WSM). ST-Ericsson was (STE = ST-Ericsson), `CONFIG_BES2600_WSM_DEBUG` (WSM). ST-Ericsson was
wound down in 2013; Bestechnic (founded 2015) appears to have inherited wound down in 2013; Bestechnic (founded 2015) appears to have inherited
@@ -32,14 +32,14 @@ preserves dependencies.
## What the series does ## 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 calibration read path with `request_firmware()`. Repoint the
FACTORY_PATH macro to the firmware-class name FACTORY_PATH macro to the firmware-class name
(`bes2600/bes2600_factory.txt`). Kills a kernel-mainline anti-pattern (`bes2600/bes2600_factory.txt`). Kills a kernel-mainline anti-pattern
and the `(NULL device *): read and check /lib/firmware/bes2600_factory.txt and the `(NULL device *): read and check /lib/firmware/bes2600_factory.txt
error` boot spam. 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 `bes2600_factory.txt` on PineTab2 contains 30 calibration fields; the
driver was expecting 31 (including a `##select_efuse_flag` section driver was expecting 31 (including a `##select_efuse_flag` section
absent from this firmware). Also unguards the 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 while its definition in `wsm.c` and its call site in `sta.c` were
ungated. 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()` via a module-local setter invoked at SDIO probe. `request_firmware()`
now receives a real device pointer; `(NULL device *):` no longer now receives a real device pointer; `(NULL device *):` no longer
prefixes factory-related diagnostics. 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()` per-VIF firmware handshake. Pre-patch: `bes2600_pwr_enter_lp_mode()`
called `bes2600_pwr_device_enter_lp_mode()` unconditionally even when called `bes2600_pwr_device_enter_lp_mode()` unconditionally even when
`wait_for_completion_timeout()` returned 0. On PineTab2 this recurred `wait_for_completion_timeout()` returned 0. On PineTab2 this recurred
every 510 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 into `sdio_tx_work` WARN splats. Post-patch: `-ETIMEDOUT` returned
cleanly, dmesg silent, SDIO stable. 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- `file_operations`, open/read/write/release, `bes2600_op_*` command-
dispatch table, `bes2600_load_uevent`, cdev registration in the init 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 `get_fw_type`, etc., 13 call sites) and the `fw_type` module
parameter are preserved. 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 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` `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 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). on both 2.4 GHz (newton / ch11) and 5 GHz (TelekomHotspot@ERGO / ch36).
Per-patch outcomes in post-reboot dmesg: Per-patch outcomes in post-reboot dmesg:
- 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 - 2/6: `bes2600_factory.txt parse fail` / `factory cali data get failed.` -- gone
- 3/6: `(NULL device *):` prefix on factory lines gone - 3/6: `(NULL device *):` prefix on factory lines -- gone
- 4/6: `wait pm ind timeout` (pre-patch 2030 msgs / 5 min) 0 per 5 min; - 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; `sdio_tx_work` WARN splat (pre-patch 2+ / 5 min) -- 0 per 5 min;
`[RX] Receive failure: 4.` gone `[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* - 6/6: `iw phy0` lists `testmode` under *Supported commands*
## Known limitations / out of scope ## 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 for calibration persistence. Conversion to debugfs/nl80211 is a
follow-up. follow-up.
- `bes_chardev.c` still contains DPD-to-file read/write paths (gated by - `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. builds). Same treatment needed.
- `bes_fw.c:587` unconditionally creates - `bes_fw.c:587` unconditionally creates
`/lib/firmware/bes2002_fw_write.bin` via `filp_open()` for debug `/lib/firmware/bes2002_fw_write.bin` via `filp_open()` for debug
@@ -38,7 +38,7 @@ inconsistently wrapped in a conditional that keyed on
STANDARD_FACTORY_EFUSE_FLAG, but the function definition in wsm.c and 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 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 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. used regardless of the factory-parse flag.
Tested-on: PineTab2 (BES2600WM + RK3566) running linux-pinetab2 Tested-on: PineTab2 (BES2600WM + RK3566) running linux-pinetab2
@@ -10,7 +10,7 @@ Content-Transfer-Encoding: 8bit
The driver implements a mac80211 testmode_cmd operation that dispatches The driver implements a mac80211 testmode_cmd operation that dispatches
to a set of vendor commands (GET_TX_POWER_LEVEL, GET_TX_POWER_RANGE, 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 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 patch_wifi_testMode). The testmode handlers and the .testmode_cmd
binding in struct ieee80211_ops are conditionally compiled under binding in struct ieee80211_ops are conditionally compiled under
CONFIG_BES2600_TESTMODE, which previously defaulted to n. CONFIG_BES2600_TESTMODE, which previously defaulted to n.
@@ -10,7 +10,7 @@ linux-pinetab2 fork). Target hardware is the Pine64 PineTab2 (RK3566
+ BES2600WM, SDIO vendor 0xBE57 / device 0x2002). + BES2600WM, SDIO vendor 0xBE57 / device 0x2002).
The driver descends from the ST-Ericsson CW1200 (drivers/net/wireless/ The driver descends from the ST-Ericsson CW1200 (drivers/net/wireless/
st/cw1200/) same author, Dmitry Tarnyagin, shared WSM hostfirmware st/cw1200/) -- same author, Dmitry Tarnyagin, shared WSM host<->firmware
protocol, shared SDIO bus backend. Kconfig ancestry markers survive in protocol, shared SDIO bus backend. Kconfig ancestry markers survive in
this tree today: CONFIG_BES2600_USE_STE_EXTENSIONS (STE = ST-Ericsson), this tree today: CONFIG_BES2600_USE_STE_EXTENSIONS (STE = ST-Ericsson),
CONFIG_BES2600_WSM_DEBUG (WSM). ST-Ericsson wound down in 2013; CONFIG_BES2600_WSM_DEBUG (WSM). ST-Ericsson wound down in 2013;
@@ -24,29 +24,29 @@ dependencies.
## What the series does ## 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 read path with request_firmware(). Repoint the FACTORY_PATH macro to
the firmware-class name (bes2600/bes2600_factory.txt, matching the the firmware-class name (bes2600/bes2600_factory.txt, matching the
/lib/firmware/ layout). Kills a kernel-mainline anti-pattern and the /lib/firmware/ layout). Kills a kernel-mainline anti-pattern and the
'(NULL device *): read and check /lib/firmware/bes2600_factory.txt '(NULL device *): read and check /lib/firmware/bes2600_factory.txt
error' boot spam on PineTab2. 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 bes2600_factory.txt on PineTab2 contains 30 calibration fields; the
driver was expecting 31 (including a ##select_efuse_flag section driver was expecting 31 (including a ##select_efuse_flag section
absent from this firmware). Also unguards the absent from this firmware). Also unguards the
wsm_save_factory_txt_to_mcu() prototype in wsm.h which was wsm_save_factory_txt_to_mcu() prototype in wsm.h which was
inconsistently wrapped in '#if defined(STANDARD_FACTORY_EFUSE_FLAG)' inconsistently wrapped in '#if defined(STANDARD_FACTORY_EFUSE_FLAG)'
while its definition in wsm.c and its call site in sta.c were 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. 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 a module-local setter invoked at SDIO probe. request_firmware() now
receives a real device pointer; '(NULL device *):' no longer prefixes receives a real device pointer; '(NULL device *):' no longer prefixes
factory-related diagnostics. 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() per-VIF firmware handshake. Pre-patch bes2600_pwr_enter_lp_mode()
called bes2600_pwr_device_enter_lp_mode() unconditionally even when called bes2600_pwr_device_enter_lp_mode() unconditionally even when
wait_for_completion_timeout() returned 0 (firmware never posted the wait_for_completion_timeout() returned 0 (firmware never posted the
@@ -56,21 +56,21 @@ dependencies.
messages. Post-patch: -ETIMEDOUT returned cleanly, dmesg silent, messages. Post-patch: -ETIMEDOUT returned cleanly, dmesg silent,
SDIO stable. 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_* file_operations, open/read/write/release, bes2600_op_*
command-dispatch table, bes2600_load_uevent, alloc_chrdev_region / command-dispatch table, bes2600_load_uevent, alloc_chrdev_region /
cdev_init / cdev_add / class_create / device_create in the init 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, deleted. The in-kernel accessor functions (is_signal_mode,
get_fw_type, etc., 13 call sites) and the fw_type module parameter get_fw_type, etc., 13 call sites) and the fw_type module parameter
are preserved; the userspace interface becomes rfkill + module_param are preserved; the userspace interface becomes rfkill + module_param
+ (with 6/6) nl80211 testmode. + (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 already implements a mac80211 testmode_cmd dispatcher (routing to
the firmware's patch_wifi_testMode path), already gated on the flag; the firmware's patch_wifi_testMode path), already gated on the flag;
CONFIG_NL80211_TESTMODE=y is common on target kernels. Enabling the 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 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 helpers with external linkage but no prototype. Add shim macros to
bes_log.h rewiring the legacy calls onto the existing bes_info / 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/<ver>/extra/ and verified loaded via modinfo srcversion. /lib/modules/<ver>/extra/ and verified loaded via modinfo srcversion.
Per-patch outcomes in post-reboot dmesg (full-stack applied): 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 - 2/6: 'bes2600_factory.txt parse fail' / 'factory cali data get
failed.' gone failed.' -- gone
- 3/6: '(NULL device *):' prefix on factory lines 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 - 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 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.' (pre-patch 2+ / 5 min) -- 0 per 5 min; '[RX] Receive failure: 4.' --
gone 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 - 6/6: 'iw phy0' lists 'testmode' under Supported commands; module
builds cleanly builds cleanly
@@ -38,7 +38,7 @@ inconsistently wrapped in a conditional that keyed on
STANDARD_FACTORY_EFUSE_FLAG, but the function definition in wsm.c and 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 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 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. used regardless of the factory-parse flag.
Tested-on: PineTab2 (BES2600WM + RK3566) running linux-pinetab2 Tested-on: PineTab2 (BES2600WM + RK3566) running linux-pinetab2
@@ -10,7 +10,7 @@ Content-Transfer-Encoding: 8bit
The driver implements a mac80211 testmode_cmd operation that dispatches The driver implements a mac80211 testmode_cmd operation that dispatches
to a set of vendor commands (GET_TX_POWER_LEVEL, GET_TX_POWER_RANGE, 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 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 patch_wifi_testMode). The testmode handlers and the .testmode_cmd
binding in struct ieee80211_ops are conditionally compiled under binding in struct ieee80211_ops are conditionally compiled under
CONFIG_BES2600_TESTMODE, which previously defaulted to n. CONFIG_BES2600_TESTMODE, which previously defaulted to n.