linux/drivers/bluetooth/hci_ath.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Atheros Communication Bluetooth HCIATH3K UART protocol
 *
 *  HCIATH3K (HCI Atheros AR300x Protocol) is a Atheros Communication's
 *  power management protocol extension to H4 to support AR300x Bluetooth Chip.
 *
 *  Copyright (c) 2009-2010 Atheros Communications Inc.
 *
 *  Acknowledgements:
 *  This file is based on hci_h4.c, which was written
 *  by Maxim Krasnyansky and Marcel Holtmann.
 */

#include <linux/module.h>
#include <linux/kernel.h>

#include <linux/init.h>
#include <linux/slab.h>
#include <linux/tty.h>
#include <linux/errno.h>
#include <linux/ioctl.h>
#include <linux/skbuff.h>

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

#include "hci_uart.h"

struct ath_struct {};

#define OP_WRITE_TAG

#define INDEX_BDADDR

struct ath_vendor_cmd {} __packed;

static int ath_wakeup_ar3k(struct tty_struct *tty)
{}

static void ath_hci_uart_work(struct work_struct *work)
{}

static int ath_open(struct hci_uart *hu)
{}

static int ath_close(struct hci_uart *hu)
{}

static int ath_flush(struct hci_uart *hu)
{}

static int ath_vendor_cmd(struct hci_dev *hdev, uint8_t opcode, uint16_t index,
			  const void *data, size_t dlen)
{}

static int ath_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
{}

static int ath_setup(struct hci_uart *hu)
{}

static const struct h4_recv_pkt ath_recv_pkts[] =;

static int ath_recv(struct hci_uart *hu, const void *data, int count)
{}

#define HCI_OP_ATH_SLEEP

static int ath_enqueue(struct hci_uart *hu, struct sk_buff *skb)
{}

static struct sk_buff *ath_dequeue(struct hci_uart *hu)
{}

static const struct hci_uart_proto athp =;

int __init ath_init(void)
{}

int __exit ath_deinit(void)
{}