Messages in this thread | | | Date | Tue, 23 Nov 2021 15:39:44 +0800 | From | tjiang@codeauro ... | Subject | Re: [PATCH v4] Bluetooth: btusb: re-definition for board_id in struct qca_version |
| |
Hi Marcel: I modified the code as you required, could you help merge it ? thank you.
regards. tim
On 2021-11-16 12:48, tjiang@codeaurora.org wrote: > The board ID should be split into two bytes. > The 1st byte is chip ID, and the 2nd byte is platform ID. > For example, board ID 0x010A, 0x01 is platform ID. 0x0A is chip ID. > we have several platforms, and platform IDs are continuously added. > We would not distinguish different chips if we get these mixed up. > Platform ID: > 0x00 is for Mobile > 0x01 is for X86 > 0x02 is for Automotive > 0x03 is for Consumer electronic > > Signed-off-by: Tim Jiang <tjiang@codeaurora.org> > --- > drivers/bluetooth/btusb.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 46d892bbde62..c2a48824ab1e 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -2883,7 +2883,8 @@ struct qca_version { > __le32 rom_version; > __le32 patch_version; > __le32 ram_version; > - __le16 board_id; > + __u8 chip_id; > + __u8 platform_id; > __le16 flag; > __u8 reserved[4]; > } __packed; > @@ -3072,7 +3073,17 @@ static void btusb_generate_qca_nvm_name(char > *fwname, size_t max_size, > u16 flag = le16_to_cpu(ver->flag); > > if (((flag >> 8) & 0xff) == QCA_FLAG_MULTI_NVM) { > - u16 board_id = le16_to_cpu(ver->board_id); > + /* The board_id should be split into two bytes > + * The 1st byte is chip ID, and the 2nd byte is platform ID > + * For example, board ID 0x010A, 0x01 is platform ID. 0x0A is chip > ID > + * Currently we have several platforms, and platform IDs are > continuously added. > + * Platform ID: > + * 0x00 is for Mobile > + * 0x01 is for X86 > + * 0x02 is for Automotive > + * 0x03 is for Consumer electronic > + */ > + u16 board_id = (ver->chip_id << 8) + ver->platform_id; > const char *variant; > > switch (le32_to_cpu(ver->ram_version)) {
| |