Re: [PATCH v1 2/2] Bluetooth: mediatek: add support for MediaTek MT7663S and MT7668S SDIO devices

From: Sean Wang
Date: Mon Mar 11 2019 - 17:40:01 EST


On Mon, 2019-03-11 at 17:38 +0100, Marcel Holtmann wrote:
> 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:
>

Thanks for the reporting. I'll fix it up soon.

> 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.
>

Sure, I can add and apply module_sdio_driver on the driver and then see
if Ulf like it.

> Regards
>
> Marcel
>