#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/skbuff.h>
#include <linux/firmware.h>
#include <linux/module.h>
#include <linux/tty.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
#include "hci_uart.h"
#include "btintel.h"
struct ag6xx_data { … };
struct pbn_entry { … } __packed;
static int ag6xx_open(struct hci_uart *hu)
{ … }
static int ag6xx_close(struct hci_uart *hu)
{ … }
static int ag6xx_flush(struct hci_uart *hu)
{ … }
static struct sk_buff *ag6xx_dequeue(struct hci_uart *hu)
{ … }
static int ag6xx_enqueue(struct hci_uart *hu, struct sk_buff *skb)
{ … }
static const struct h4_recv_pkt ag6xx_recv_pkts[] = …;
static int ag6xx_recv(struct hci_uart *hu, const void *data, int count)
{ … }
static int intel_mem_write(struct hci_dev *hdev, u32 addr, u32 plen,
const void *data)
{ … }
static int ag6xx_setup(struct hci_uart *hu)
{ … }
static const struct hci_uart_proto ag6xx_proto = …;
int __init ag6xx_init(void)
{ … }
int __exit ag6xx_deinit(void)
{ … }