On Mon, 2020-03-23 at 19:48 +0100, Marcel Holtmann wrote: > Hi Joe, Hello Marcel. > > > > This adds a bit mask of driver_info for Microsoft vendor extension and > > > > indicates the support for Intel 9460/9560 and 9160/9260. See > > > > https://docs.microsoft.com/en-us/windows-hardware/drivers/bluetooth/ > > > > microsoft-defined-bluetooth-hci-commands-and-events for more information > > > > about the extension. This was verified with Intel ThunderPeak BT controller > > > > where msft_vnd_ext_opcode is 0xFC1E. > > [] > > > > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h > > [] > > > > @@ -315,6 +315,10 @@ struct hci_dev { > > > > __u8 ssp_debug_mode; > > > > __u8 hw_error_code; > > > > __u32 clock; > > > > + __u16 msft_vnd_ext_opcode; > > > > + __u64 msft_vnd_ext_features; > > > > + __u8 msft_vnd_ext_evt_prefix_len; > > > > + void *msft_vnd_ext_evt_prefix; > > > > msft is just another vendor. > > > > If there are to be vendor extensions, this should > > likely use a blank line above and below and not > > be prefixed with msft_ > > there are other vendors, but all of them are different. So this needs to be prefixed with msft_ actually. But I agree that having empty lines above and below makes it more readable. So struct hci_dev should become a clutter of random vendor extensions? Perhaps there should instead be something like an array of char at the end of the struct and various vendor specific extensions could be overlaid on that array or just add a void * to whatever info that vendors require.