[PATCH v7 1/3] Bluetooth: btmtk: Replace magic numbers with WMT packet flag enum
Luiz Augusto von Dentz
luiz.dentz at gmail.com
Wed Jul 1 08:55:00 PDT 2026
Hi Chris,
On Wed, Jul 1, 2026 at 8:13 AM Chris Lu <chris.lu at mediatek.com> wrote:
>
> Add BTMTK_WMT_PKT_* enum to represent WMT download packet sequence flags,
> improving code readability. Replace magic numbers (1, 2, 3) in
> btmtk_setup_firmware_79xx() and btmtk_setup_firmware() with descriptive
> enum values:
>
> - BTMTK_WMT_PKT_START (1): First packet of a sequence
> - BTMTK_WMT_PKT_CONTINUE (2): Continuation packet
> - BTMTK_WMT_PKT_END (3): Final packet of a sequence
>
> Signed-off-by: Chris Lu <chris.lu at mediatek.com>
> Reviewed-by: Paul Menzel <pmenzel at molgen.mpg.de>
> Assisted-by: Claude:Sonnet-4.5
> ---
> drivers/bluetooth/btmtk.c | 12 ++++++------
> drivers/bluetooth/btmtk.h | 6 ++++++
> 2 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c
> index 02a96342e964..40c2a64aa6b7 100644
> --- a/drivers/bluetooth/btmtk.c
> +++ b/drivers/bluetooth/btmtk.c
> @@ -230,12 +230,12 @@ int btmtk_setup_firmware_79xx(struct hci_dev *hdev, const char *fwname,
> while (dl_size > 0) {
> dlen = min_t(int, 250, dl_size);
> if (first_block == 1) {
> - flag = 1;
> + flag = BTMTK_WMT_PKT_START;
> first_block = 0;
> } else if (dl_size - dlen <= 0) {
> - flag = 3;
> + flag = BTMTK_WMT_PKT_END;
> } else {
> - flag = 2;
> + flag = BTMTK_WMT_PKT_CONTINUE;
> }
>
> wmt_params.flag = flag;
> @@ -314,7 +314,7 @@ int btmtk_setup_firmware(struct hci_dev *hdev, const char *fwname,
>
> fw_size -= 30;
> fw_ptr += 30;
> - flag = 1;
> + flag = BTMTK_WMT_PKT_START;
>
> wmt_params.op = BTMTK_WMT_PATCH_DWNLD;
> wmt_params.status = NULL;
> @@ -324,9 +324,9 @@ int btmtk_setup_firmware(struct hci_dev *hdev, const char *fwname,
>
> /* Tell device the position in sequence */
> if (fw_size - dlen <= 0)
> - flag = 3;
> + flag = BTMTK_WMT_PKT_END;
> else if (fw_size < fw->size - 30)
> - flag = 2;
> + flag = BTMTK_WMT_PKT_CONTINUE;
>
> wmt_params.flag = flag;
> wmt_params.dlen = dlen;
> diff --git a/drivers/bluetooth/btmtk.h b/drivers/bluetooth/btmtk.h
> index c83c24897c95..51c18dde0a80 100644
> --- a/drivers/bluetooth/btmtk.h
> +++ b/drivers/bluetooth/btmtk.h
> @@ -66,6 +66,12 @@ enum {
> BTMTK_WMT_ON_PROGRESS,
> };
>
> +enum {
> + BTMTK_WMT_PKT_START = 1,
> + BTMTK_WMT_PKT_CONTINUE = 2,
> + BTMTK_WMT_PKT_END = 3,
> +};
> +
> struct btmtk_wmt_hdr {
> u8 dir;
> u8 op;
> --
> 2.45.2
Ones last issue regarding SDIO from sashiko:
https://sashiko.dev/#/patchset/20260701121345.1231906-1-chris.lu%40mediatek.com
--
Luiz Augusto von Dentz
More information about the Linux-mediatek
mailing list