Re: [PATCH v1 2/2] Bluetooth: mediatek: add support for MediaTek MT7663S and MT7668S SDIO devices
From: Marcel Holtmann
Date: Mon Mar 11 2019 - 12:39:02 EST
Hi Sean,
> This adds the support of enabling MT7663S and MT7668S SDIO-based
> Bluetooth function.
>
> There are quite many differences between MT766[3,8]S and standard
> Bluetooth SDIO devices such as Type-A and Type-B devices. For example,
> MT766[3,8]S have its own SDIO registers layout, definition, SDIO packet
> format, and the specific flow should be programmed on them to complete
> the device initialization and low power control and so on.
>
> Currently, there are many independent programming sequences from the
> transport which are exactly the same as the ones in btusb.c about MediaTek
> support [1] and btmtkuart.c. We can try to split the transport independent
> Bluetooth setups on the advance, place them into the common files and allow
> varous transport drivers to reuse them in the future.
>
> [1] http://lists.infradead.org/pipermail/linux-mediatek/2019-January/017074.html
>
> Signed-off-by: Sean Wang <sean.wang@xxxxxxxxxxxx>
> ---
> drivers/bluetooth/Kconfig | 11 +
> drivers/bluetooth/Makefile | 1 +
> drivers/bluetooth/btmtksdio.c | 979 ++++++++++++++++++++++++++++++++++
> 3 files changed, 991 insertions(+)
> create mode 100644 drivers/bluetooth/btmtksdio.c
patch has been applied to bluetooth-next tree.
You also need to send an extra patch providing a fix for this:
CC drivers/bluetooth/btmtksdio.o
drivers/bluetooth/btmtksdio.c: In function âbtmtksdio_interruptâ:
drivers/bluetooth/btmtksdio.c:470:2: warning: âold_lenâ may be used uninitialized in this function [-Wmaybe-uninitialized]
print_hex_dump(KERN_ERR, "err sdio rx: ", DUMP_PREFIX_NONE, 4, 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
old_data, old_len, true);
~~~~~~~~~~~~~~~~~~~~~~~~
drivers/bluetooth/btmtksdio.c:376:15: note: âold_lenâ was declared here
unsigned int old_len;
^~~~~~~
drivers/bluetooth/btmtksdio.c:470:2: warning: âold_dataâ may be used uninitialized in this function [-Wmaybe-uninitialized]
print_hex_dump(KERN_ERR, "err sdio rx: ", DUMP_PREFIX_NONE, 4, 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
old_data, old_len, true);
~~~~~~~~~~~~~~~~~~~~~~~~
drivers/bluetooth/btmtksdio.c:375:17: note: âold_dataâ was declared here
unsigned char *old_data;
^~~~~~~~
And can we actually introduce module_sdio_driver similar to module_usb_driver.
Regards
Marcel