Bluetooth: btintel: Create common function for Intel version info
The Intel version information is shared between USB and UART drivers and with that move it into a generic function of the Intel module. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
09df123d2d
commit
7feb99e130
4 changed files with 28 additions and 44 deletions
|
@ -123,6 +123,27 @@ void btintel_hw_error(struct hci_dev *hdev, u8 code)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(btintel_hw_error);
|
EXPORT_SYMBOL_GPL(btintel_hw_error);
|
||||||
|
|
||||||
|
void btintel_version_info(struct hci_dev *hdev, struct intel_version *ver)
|
||||||
|
{
|
||||||
|
const char *variant;
|
||||||
|
|
||||||
|
switch (ver->fw_variant) {
|
||||||
|
case 0x06:
|
||||||
|
variant = "Bootloader";
|
||||||
|
break;
|
||||||
|
case 0x23:
|
||||||
|
variant = "Firmware";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
BT_INFO("%s: %s revision %u.%u build %u week %u %u", hdev->name,
|
||||||
|
variant, ver->fw_revision >> 4, ver->fw_revision & 0x0f,
|
||||||
|
ver->fw_build_num, ver->fw_build_ww, 2000 + ver->fw_build_yy);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(btintel_version_info);
|
||||||
|
|
||||||
int btintel_secure_send(struct hci_dev *hdev, u8 fragment_type, u32 plen,
|
int btintel_secure_send(struct hci_dev *hdev, u8 fragment_type, u32 plen,
|
||||||
const void *param)
|
const void *param)
|
||||||
{
|
{
|
||||||
|
|
|
@ -75,6 +75,7 @@ int btintel_check_bdaddr(struct hci_dev *hdev);
|
||||||
int btintel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr);
|
int btintel_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr);
|
||||||
void btintel_hw_error(struct hci_dev *hdev, u8 code);
|
void btintel_hw_error(struct hci_dev *hdev, u8 code);
|
||||||
|
|
||||||
|
void btintel_version_info(struct hci_dev *hdev, struct intel_version *ver);
|
||||||
int btintel_secure_send(struct hci_dev *hdev, u8 fragment_type, u32 plen,
|
int btintel_secure_send(struct hci_dev *hdev, u8 fragment_type, u32 plen,
|
||||||
const void *param);
|
const void *param);
|
||||||
|
|
||||||
|
@ -94,6 +95,10 @@ static inline void btintel_hw_error(struct hci_dev *hdev, u8 code)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void btintel_version_info(struct hci_dev *hdev, struct intel_version *ver)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
static inline int btintel_secure_send(struct hci_dev *hdev, u8 fragment_type,
|
static inline int btintel_secure_send(struct hci_dev *hdev, u8 fragment_type,
|
||||||
u32 plen, const void *param)
|
u32 plen, const void *param)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1878,27 +1878,6 @@ static int btusb_send_frame_intel(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
return -EILSEQ;
|
return -EILSEQ;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void btusb_intel_version_info(struct hci_dev *hdev,
|
|
||||||
struct intel_version *ver)
|
|
||||||
{
|
|
||||||
const char *variant;
|
|
||||||
|
|
||||||
switch (ver->fw_variant) {
|
|
||||||
case 0x06:
|
|
||||||
variant = "Bootloader";
|
|
||||||
break;
|
|
||||||
case 0x23:
|
|
||||||
variant = "Firmware";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
BT_INFO("%s: %s revision %u.%u build %u week %u %u", hdev->name,
|
|
||||||
variant, ver->fw_revision >> 4, ver->fw_revision & 0x0f,
|
|
||||||
ver->fw_build_num, ver->fw_build_ww, 2000 + ver->fw_build_yy);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int btusb_setup_intel_new(struct hci_dev *hdev)
|
static int btusb_setup_intel_new(struct hci_dev *hdev)
|
||||||
{
|
{
|
||||||
static const u8 reset_param[] = { 0x00, 0x01, 0x00, 0x01,
|
static const u8 reset_param[] = { 0x00, 0x01, 0x00, 0x01,
|
||||||
|
@ -1960,7 +1939,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
btusb_intel_version_info(hdev, ver);
|
btintel_version_info(hdev, ver);
|
||||||
|
|
||||||
/* The firmware variant determines if the device is in bootloader
|
/* The firmware variant determines if the device is in bootloader
|
||||||
* mode or is running operational firmware. The value 0x06 identifies
|
* mode or is running operational firmware. The value 0x06 identifies
|
||||||
|
|
|
@ -111,27 +111,6 @@ static int inject_cmd_complete(struct hci_dev *hdev, __u16 opcode)
|
||||||
return hci_recv_frame(hdev, skb);
|
return hci_recv_frame(hdev, skb);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void intel_version_info(struct hci_dev *hdev,
|
|
||||||
struct intel_version *ver)
|
|
||||||
{
|
|
||||||
const char *variant;
|
|
||||||
|
|
||||||
switch (ver->fw_variant) {
|
|
||||||
case 0x06:
|
|
||||||
variant = "Bootloader";
|
|
||||||
break;
|
|
||||||
case 0x23:
|
|
||||||
variant = "Firmware";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
BT_INFO("%s: %s revision %u.%u build %u week %u %u", hdev->name,
|
|
||||||
variant, ver->fw_revision >> 4, ver->fw_revision & 0x0f,
|
|
||||||
ver->fw_build_num, ver->fw_build_ww, 2000 + ver->fw_build_yy);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int intel_setup(struct hci_uart *hu)
|
static int intel_setup(struct hci_uart *hu)
|
||||||
{
|
{
|
||||||
static const u8 reset_param[] = { 0x00, 0x01, 0x00, 0x01,
|
static const u8 reset_param[] = { 0x00, 0x01, 0x00, 0x01,
|
||||||
|
@ -205,7 +184,7 @@ static int intel_setup(struct hci_uart *hu)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
intel_version_info(hdev, ver);
|
btintel_version_info(hdev, ver);
|
||||||
|
|
||||||
/* The firmware variant determines if the device is in bootloader
|
/* The firmware variant determines if the device is in bootloader
|
||||||
* mode or is running operational firmware. The value 0x06 identifies
|
* mode or is running operational firmware. The value 0x06 identifies
|
||||||
|
|
Loading…
Reference in a new issue