Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1960377pxv; Sat, 24 Jul 2021 00:32:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzvXoQMr9jmWQS+G2QMqKxclsUuOM/pnXs1GB6yFCppUxHV7bvVaun9GJGHuwsqFEEKG/Gv X-Received: by 2002:a92:3209:: with SMTP id z9mr6086314ile.115.1627111938568; Sat, 24 Jul 2021 00:32:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627111938; cv=none; d=google.com; s=arc-20160816; b=x4c0m1CTG8s3ytZQ3yQmgFV6HxA/CRyaoCTK0v6uiSaEynrP0MwZSaY2q8t2cu3fPp UKvrqWS9qnr4+iz1ursQCnRAC9oqiTOhAjy3AO8HAmrRR+QtuK75mY5LPyWELE5LHg/C 1LBkdwyBqImrdgtYaSIemVZgiO7+9awNhlF3KZgn43GS37E1kaZhFDaLb05sX8kDQdna ZfZGWOPAQXzS32eadN1uAdbqtg/1HQ073TMwLs4lP/Ufdb3bK3N4TpV94u077l08nVaF UhxABehXPDPF9AkjYaRnWigkS/e1VG8aYgkvhA9ImlOzRq5ACtan+/QoKXXjLJftnSB5 bZ9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=J1CpBl5mY0p2RfQRLB4s0Fjznb7qXVJN+FiwMEwnizY=; b=oKcZEUXlrT5HdA/BLYM4+PUDvjJ3tFV4UnPvvh5j95es1WeIREoUsxSuiUx/TGW87P qm4zzRz7QUfP5zGzQwNBMPD9QfguI6ufftA5qhsVFZAi3InSUU+ewpiptBCMeGNs/jum zFvKpz65Mraglf0jd46o894Gi5+0+c9kP99uOVa0Z86B+wOWTtSeOuoWQu/ntprbuyB+ EqgLNUQMp/sUZHvm851RsSBL8wznW0/B9NpkZQxHVPtlL4lNbOvehgFSt5u0VKjDuQZ9 AvRS3B5dyW/1uxKSb8NMtfxtk+OiZpcgbn7MQCDa/JcR7ioMp3vCsrtzu/xh23oXCPMY Oq3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=jIkEtVzz; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t10si24567800jal.117.2021.07.24.00.31.53; Sat, 24 Jul 2021 00:32:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=jIkEtVzz; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234287AbhGXGtp (ORCPT + 99 others); Sat, 24 Jul 2021 02:49:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234385AbhGXGtj (ORCPT ); Sat, 24 Jul 2021 02:49:39 -0400 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27AC1C06175F for ; Sat, 24 Jul 2021 00:30:10 -0700 (PDT) Received: by mail-pl1-x635.google.com with SMTP id k1so5610953plt.12 for ; Sat, 24 Jul 2021 00:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=J1CpBl5mY0p2RfQRLB4s0Fjznb7qXVJN+FiwMEwnizY=; b=jIkEtVzzLltAT3IM5BemqW7btKcFIxz9qkTd4FOItwBJh5fCO9JRE+/didYQmrMgm2 EuHP43hSvbl9lvBNR4bNvu54tTUHsEY0WTlcFA9s2+fwUDnYqRAbNs3/IFIUPu8/yfPS lyMvGs80rNBL/lkhCYqbDJi6d7SVQurBjImtitbvD58mosEtvasbtxQ9gJ/dymoSxcni NrmXlyV2uTh7RyY9qscrSy9MNh9tSy7+b8kp/lEOgx/uKHlAdVLgfE1znKVy+VM9WcFl /tYvFhj/OIJmY1KeeE4UFJW4bVw+nU2d8OfB81ZPlvUyC+WLj1PxZhKBqIXSOzAO8QdZ Dw5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=J1CpBl5mY0p2RfQRLB4s0Fjznb7qXVJN+FiwMEwnizY=; b=g1wT76Q2ANz20AeawnraS9TvqtPoMBUfGx1bDgXZbVuKoUv7QvOhNu/NJAW/nMGtaw an10/Cv3dOZCkAohJ82FHDGAgKPyisuLNfW3vsYAtG92VkL5AI1KHdbaSK7QV/RPBe02 4Cb1BUPrk4nisiSwQsnQRQtUcYzJPWd9yAqVg9h9R0PLwy9jkQsKluHTqA8X+zHNkNFP WD8qIQnyi7M4j2smKE9714m/3LrRbLfPBrLqNllJ8MB22qr06gSrUUNU2E9gbOUSXNH1 +7LO9FEI7BbthPJonz8PSFiqCrdW/ymTU8VGZ21q5ff4YIgQ23mWJkt33c+cCHBkU4s3 ZCAQ== X-Gm-Message-State: AOAM533ithTHWpiWi1Lt3vxkXC2HPVajHRRGbpRba24PKq/5xOUjt1Uk lUE4Tvwzf/WGQVqu2XCxMYsUx9IhiLE= X-Received: by 2002:a17:90a:6be1:: with SMTP id w88mr7921583pjj.121.1627111809395; Sat, 24 Jul 2021 00:30:09 -0700 (PDT) Received: from localhost.localdomain ([2601:1c0:6a01:d830::1291]) by smtp.gmail.com with ESMTPSA id u24sm38510919pfm.141.2021.07.24.00.30.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jul 2021 00:30:08 -0700 (PDT) From: Tedd Ho-Jeong An To: linux-bluetooth@vger.kernel.org Cc: Tedd Ho-Jeong An Subject: [RFC PATCH v3 0/9] Bluetooth: btintel: Refactoring setup routines Date: Sat, 24 Jul 2021 00:29:56 -0700 Message-Id: <20210724073005.714003-1-hj.tedd.an@gmail.com> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Tedd Ho-Jeong An 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. Also, it uses the new format of HCI_Intel_Read_Version command for legacy ROM and legacy bootloader devices. Luckly legacy devices support the new format. 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. 4. After identifying the setup type for the device, it uses the correspond setup routines based on the setup type, and the setup routines were moved from btusb to btintel. However, actual work for the setup routines were not changed or very minimal. 5. Since many functions were moved from btusb to btintel, clean up the exported functions and make them static if possible. Tedd Ho-Jeong An (9): 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: Add combined set_diag functions Bluetooth: btintel: Refactoring setup routine for legacy bootloader Bluetooth: btintel: Refactoring setup routine for TLV based booloader Bluetooth: btintel: Clean the exported function to static drivers/bluetooth/bfusb.c | 2 +- drivers/bluetooth/bluecard_cs.c | 2 +- drivers/bluetooth/bpa10x.c | 2 +- drivers/bluetooth/bt3c_cs.c | 2 +- drivers/bluetooth/btintel.c | 1184 ++++++++++++++++++++++++++++-- drivers/bluetooth/btintel.h | 82 +-- drivers/bluetooth/btmrvl_main.c | 2 +- drivers/bluetooth/btmtksdio.c | 2 +- drivers/bluetooth/btmtkuart.c | 2 +- drivers/bluetooth/btqcomsmd.c | 2 +- drivers/bluetooth/btrsi.c | 2 +- drivers/bluetooth/btsdio.c | 2 +- drivers/bluetooth/btusb.c | 1098 ++------------------------- drivers/bluetooth/dtl1_cs.c | 2 +- drivers/bluetooth/hci_ldisc.c | 2 +- drivers/bluetooth/hci_serdev.c | 2 +- drivers/bluetooth/hci_vhci.c | 2 +- drivers/bluetooth/virtio_bt.c | 2 +- include/net/bluetooth/hci_core.h | 7 +- net/bluetooth/hci_core.c | 11 +- 20 files changed, 1225 insertions(+), 1187 deletions(-) -- 2.26.3