#include <linux/module.h>
#include <linux/firmware.h>
#include <linux/vmalloc.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
#include "btqca.h"
int qca_read_soc_version(struct hci_dev *hdev, struct qca_btsoc_version *ver,
enum qca_btsoc_type soc_type)
{ … }
EXPORT_SYMBOL_GPL(…);
static int qca_read_fw_build_info(struct hci_dev *hdev)
{ … }
static int qca_send_patch_config_cmd(struct hci_dev *hdev)
{ … }
static int qca_send_reset(struct hci_dev *hdev)
{ … }
static int qca_read_fw_board_id(struct hci_dev *hdev, u16 *bid)
{ … }
int qca_send_pre_shutdown_cmd(struct hci_dev *hdev)
{ … }
EXPORT_SYMBOL_GPL(…);
static int qca_tlv_check_data(struct hci_dev *hdev,
struct qca_fw_config *config,
u8 *fw_data, size_t fw_size,
enum qca_btsoc_type soc_type)
{ … }
static int qca_tlv_send_segment(struct hci_dev *hdev, int seg_size,
const u8 *data, enum qca_tlv_dnld_mode mode,
enum qca_btsoc_type soc_type)
{ … }
static int qca_inject_cmd_complete_event(struct hci_dev *hdev)
{ … }
static int qca_download_firmware(struct hci_dev *hdev,
struct qca_fw_config *config,
enum qca_btsoc_type soc_type,
u8 rom_ver)
{ … }
static int qca_disable_soc_logging(struct hci_dev *hdev)
{ … }
int qca_set_bdaddr_rome(struct hci_dev *hdev, const bdaddr_t *bdaddr)
{ … }
EXPORT_SYMBOL_GPL(…);
static int qca_check_bdaddr(struct hci_dev *hdev, const struct qca_fw_config *config)
{ … }
static void qca_generate_hsp_nvm_name(char *fwname, size_t max_size,
struct qca_btsoc_version ver, u8 rom_ver, u16 bid)
{ … }
static inline void qca_get_nvm_name_generic(struct qca_fw_config *cfg,
const char *stem, u8 rom_ver, u16 bid)
{ … }
int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
enum qca_btsoc_type soc_type, struct qca_btsoc_version ver,
const char *firmware_name)
{ … }
EXPORT_SYMBOL_GPL(…);
int qca_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;