All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/12] Bluetooth: btintel: Refactoring setup routines
@ 2021-08-04  4:40 Tedd Ho-Jeong An
  2021-08-04  4:40 ` [PATCH v6 01/12] Bluetooth: Add support hdev to allocate private data Tedd Ho-Jeong An
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Tedd Ho-Jeong An @ 2021-08-04  4:40 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Tedd Ho-Jeong An

From: Tedd Ho-Jeong An <tedd.an@intel.com>

This patch set refactors the multiple setup routines for various Intel devices
to a combined single entry. Here are the highlight of the changes:

1. Updated hci_alloc_dev() to allocate the hdev object with an extra buffer
   for the private data. btintel introduces the btintel_data struct and
   store it to the private data in hdev object.

2. Added a single entry for setup and shutdown and uses the
   HCI_Intel_Read_Version command to identify the device, instead of
   relying on the USB VID and PID. The new HCI_Intel_Read_Version command
   is used for both legacy ROM, legacy Bootloader and TLV based bootloader.
   
   Also, btintel_configure_setup() is added to setup the most of hdev
   callbacks, unless it is a transport specific functions.
   
   After identifying the device, it calls the corresponding setup routines.
   These routines were copied from btusb to btintel and changes are none or
   very minimal.

3. Keep the state of bootloader in btintel object. The bootloader state
   is agnostic to the transport type, so btintel uses the btintel_data
   to keep track of the state in the private data section in hdev.
   
   Also, added macros to set/clear/test flags to simplify the code.

5. Cleaned up the exported functions and make it static as much as possible
   if not necessary.

6. From the JfP/ThP, the operational firmware support the new TLV based
   HCI_Intel_Read_Version command, which confues the usage during the
   setup routine. So, the check for firmware variant of those legacy
   bootloader sku is added to use the legacy bootloader setup call.

7. All of HCI quirks for Intel devices are moved in the setup routines.
   There are several HCI quirks for Intel devices and some of them are
   for all Intel devices and some of them are for a specific devices.
   
   The flag for HCI quirks are removed from the .driver_info, and applying
   HCI quirks are done in combined setup routine depends on the hw_variant.

8. Combined the setting the MSFT extension support in the combined setup
   routine now depends on the hw_variant.
   
Tedd Ho-Jeong An (12):
  Bluetooth: Add support hdev to allocate private data
  Bluetooth: btintel: Add combined setup and shutdown functions
  Bluetooth: btintel: Refactoring setup routine for legacy ROM sku
  Bluetooth: btintel: Add btintel data struct
  Bluetooth: btintel: Fix the first HCI command not work with ROM device
  Bluetooth: btintel: Fix the LED is not turning off immediately
  Bluetooth: btintel: Add combined set_diag functions
  Bluetooth: btintel: Refactoring setup routine for bootloader devices
  Bluetooth: btintel: Move hci quirks to setup routine
  Bluetooth: btintel: Clean the exported function to static
  Bluetooth: btintel: Fix the legacy bootloader returns tlv based
    version
  Bluetooth: btintel: Combine setting MSFT extension

 drivers/bluetooth/btintel.c      | 1307 ++++++++++++++++++++++++++++--
 drivers/bluetooth/btintel.h      |  119 ++-
 drivers/bluetooth/btusb.c        | 1128 +-------------------------
 include/net/bluetooth/hci_core.h |   13 +-
 net/bluetooth/hci_core.c         |   13 +-
 5 files changed, 1358 insertions(+), 1222 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2021-08-04 15:22 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04  4:40 [PATCH v6 00/12] Bluetooth: btintel: Refactoring setup routines Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 01/12] Bluetooth: Add support hdev to allocate private data Tedd Ho-Jeong An
2021-08-04  5:15   ` Bluetooth: btintel: Refactoring setup routines bluez.test.bot
2021-08-04  4:40 ` [PATCH v6 02/12] Bluetooth: btintel: Add combined setup and shutdown functions Tedd Ho-Jeong An
2021-08-04 15:22   ` K, Kiran
2021-08-04  4:40 ` [PATCH v6 03/12] Bluetooth: btintel: Refactoring setup routine for legacy ROM sku Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 04/12] Bluetooth: btintel: Add btintel data struct Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 05/12] Bluetooth: btintel: Fix the first HCI command not work with ROM device Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 06/12] Bluetooth: btintel: Fix the LED is not turning off immediately Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 07/12] Bluetooth: btintel: Add combined set_diag functions Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 08/12] Bluetooth: btintel: Refactoring setup routine for bootloader devices Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 09/12] Bluetooth: btintel: Move hci quirks to setup routine Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 10/12] Bluetooth: btintel: Clean the exported function to static Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 11/12] Bluetooth: btintel: Fix the legacy bootloader returns tlv based version Tedd Ho-Jeong An
2021-08-04  4:40 ` [PATCH v6 12/12] Bluetooth: btintel: Combine setting up MSFT extension Tedd Ho-Jeong An
2021-08-04 15:00 ` [PATCH v6 00/12] Bluetooth: btintel: Refactoring setup routines Marcel Holtmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.