linux/drivers/bluetooth/btmtk.c

// SPDX-License-Identifier: ISC
/* Copyright (C) 2021 MediaTek Inc.
 *
 */
#include <linux/module.h>
#include <linux/firmware.h>
#include <linux/usb.h>
#include <linux/iopoll.h>
#include <asm/unaligned.h>

#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>

#include "btmtk.h"

#define VERSION

/* It is for mt79xx download rom patch*/
#define MTK_FW_ROM_PATCH_HEADER_SIZE
#define MTK_FW_ROM_PATCH_GD_SIZE
#define MTK_FW_ROM_PATCH_SEC_MAP_SIZE
#define MTK_SEC_MAP_COMMON_SIZE
#define MTK_SEC_MAP_NEED_SEND_SIZE

/* It is for mt79xx iso data transmission setting */
#define MTK_ISO_THRESHOLD

struct btmtk_patch_header {} __packed;

struct btmtk_global_desc {} __packed;

struct btmtk_section_map {} __packed;

static void btmtk_coredump(struct hci_dev *hdev)
{}

static void btmtk_coredump_hdr(struct hci_dev *hdev, struct sk_buff *skb)
{}

static void btmtk_coredump_notify(struct hci_dev *hdev, int state)
{}

void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
			   u32 fw_flavor)
{}
EXPORT_SYMBOL_GPL();

int btmtk_setup_firmware_79xx(struct hci_dev *hdev, const char *fwname,
			      wmt_cmd_sync_func_t wmt_cmd_sync)
{}
EXPORT_SYMBOL_GPL();

int btmtk_setup_firmware(struct hci_dev *hdev, const char *fwname,
			 wmt_cmd_sync_func_t wmt_cmd_sync)
{}
EXPORT_SYMBOL_GPL();

int btmtk_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
{}
EXPORT_SYMBOL_GPL();

void btmtk_reset_sync(struct hci_dev *hdev)
{}
EXPORT_SYMBOL_GPL();

int btmtk_register_coredump(struct hci_dev *hdev, const char *name,
			    u32 fw_version)
{}
EXPORT_SYMBOL_GPL();

int btmtk_process_coredump(struct hci_dev *hdev, struct sk_buff *skb)
{}
EXPORT_SYMBOL_GPL();

#if IS_ENABLED(CONFIG_BT_HCIBTUSB_MTK)
static void btmtk_usb_wmt_recv(struct urb *urb)
{}

static int btmtk_usb_submit_wmt_recv_urb(struct hci_dev *hdev)
{}

static int btmtk_usb_hci_wmt_sync(struct hci_dev *hdev,
				  struct btmtk_hci_wmt_params *wmt_params)
{}

static int btmtk_usb_func_query(struct hci_dev *hdev)
{}

static int btmtk_usb_uhw_reg_write(struct hci_dev *hdev, u32 reg, u32 val)
{}

static int btmtk_usb_uhw_reg_read(struct hci_dev *hdev, u32 reg, u32 *val)
{}

static int btmtk_usb_reg_read(struct hci_dev *hdev, u32 reg, u32 *val)
{}

static int btmtk_usb_id_get(struct hci_dev *hdev, u32 reg, u32 *id)
{}

static u32 btmtk_usb_reset_done(struct hci_dev *hdev)
{}

int btmtk_usb_subsys_reset(struct hci_dev *hdev, u32 dev_id)
{}
EXPORT_SYMBOL_GPL();

int btmtk_usb_recv_acl(struct hci_dev *hdev, struct sk_buff *skb)
{}
EXPORT_SYMBOL_GPL();

static int btmtk_isopkt_pad(struct hci_dev *hdev, struct sk_buff *skb)
{}

static int __set_mtk_intr_interface(struct hci_dev *hdev)
{}

struct urb *alloc_mtk_intr_urb(struct hci_dev *hdev, struct sk_buff *skb,
			       usb_complete_t tx_complete)
{}
EXPORT_SYMBOL_GPL();

static int btmtk_recv_isopkt(struct hci_dev *hdev, void *buffer, int count)
{}

static void btmtk_intr_complete(struct urb *urb)
{}

static int btmtk_submit_intr_urb(struct hci_dev *hdev, gfp_t mem_flags)
{}

static int btmtk_usb_isointf_init(struct hci_dev *hdev)
{}

int btmtk_usb_resume(struct hci_dev *hdev)
{}
EXPORT_SYMBOL_GPL();

int btmtk_usb_suspend(struct hci_dev *hdev)
{}
EXPORT_SYMBOL_GPL();

int btmtk_usb_setup(struct hci_dev *hdev)
{}
EXPORT_SYMBOL_GPL();

int btmtk_usb_shutdown(struct hci_dev *hdev)
{}
EXPORT_SYMBOL_GPL();
#endif

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_VERSION();
MODULE_LICENSE();
MODULE_FIRMWARE();
MODULE_FIRMWARE();
MODULE_FIRMWARE();
MODULE_FIRMWARE();
MODULE_FIRMWARE();
MODULE_FIRMWARE();