Hi, On Mon, Oct 21, 2019 at 05:14:15PM +0200, Marcel Holtmann wrote: > Hi Sebastian, > > >>> All users of this driver have been converted to the serdev based > >>> hci_ll driver. The unused driver can be safely dropped now. > >>> > >>> Signed-off-by: Sebastian Reichel > >>> --- > >>> drivers/bluetooth/Kconfig | 11 -- > >>> drivers/bluetooth/Makefile | 1 - > >>> drivers/bluetooth/btwilink.c | 337 ----------------------------------- > >>> 3 files changed, 349 deletions(-) > >>> delete mode 100644 drivers/bluetooth/btwilink.c > >> > >> patch has been applied to bluetooth-next tree. > >> > >> However what I really like to see is that you re-introduce a > >> btwilink driver that is purely serdev based and doesn’t rely on > >> any hci_uart/hci_ldisc code. A clean serdev only driver is that > >> best and easier to maintain long term. > > > > So basically move the serdev implementation from hci_ll.c into its > > own driver and make hci_ll hci_uart based only? That effectively > > means, that we have two implementations of the protocol. I don't > > think this will improve maintainability, since then bugs needs to > > be fixed in two places? Note, that we have a couple of drivers > > with serdev+hci_uart by now: > > > > for file in $(grep -l serdev drivers/bluetooth/hci_*c) ; grep -l hci_uart_register_proto "${file}" > > hci_bcm.c > > hci_h5.c > > hci_ldisc.c > > hci_ll.c > > hci_mrvl.c > > hci_qca.c > > I would like to have something similar to btmtkuart.c which is a > pure serdev driver that doesn’t depend on any hci_ldisc.c > framework. If we have this, then we would just drop hci_ll.c from > the kernel and focus on the serdev only version. As noted, there > is no need for any other driver at that point since everything is > probed anyway. Users will not even notice the difference. This can be achieved by just removing the hci_uart part from hci_ll. But AFAIK there are some non-wilink based TI HCILL devices, which do not require any extra platform data and might still use the hci_uart part. -- Sebastian