#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/serdev.h>
#include <linux/skbuff.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
#include "hci_uart.h"
static inline void hci_uart_tx_complete(struct hci_uart *hu, int pkt_type)
{ … }
static inline struct sk_buff *hci_uart_dequeue(struct hci_uart *hu)
{ … }
static void hci_uart_write_work(struct work_struct *work)
{ … }
static int hci_uart_flush(struct hci_dev *hdev)
{ … }
static int hci_uart_open(struct hci_dev *hdev)
{ … }
static int hci_uart_close(struct hci_dev *hdev)
{ … }
static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
{ … }
static int hci_uart_setup(struct hci_dev *hdev)
{ … }
static bool hci_uart_wakeup(struct hci_dev *hdev)
{ … }
static void hci_uart_write_wakeup(struct serdev_device *serdev)
{ … }
static size_t hci_uart_receive_buf(struct serdev_device *serdev,
const u8 *data, size_t count)
{ … }
static const struct serdev_device_ops hci_serdev_client_ops = …;
int hci_uart_register_device_priv(struct hci_uart *hu,
const struct hci_uart_proto *p,
int sizeof_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
void hci_uart_unregister_device(struct hci_uart *hu)
{ … }
EXPORT_SYMBOL_GPL(…);