[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