linux/drivers/bluetooth/hci_serdev.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Bluetooth HCI serdev driver lib
 *
 *  Copyright (C) 2017  Linaro, Ltd., Rob Herring <[email protected]>
 *
 *  Based on hci_ldisc.c:
 *
 *  Copyright (C) 2000-2001  Qualcomm Incorporated
 *  Copyright (C) 2002-2003  Maxim Krasnyansky <[email protected]>
 *  Copyright (C) 2004-2005  Marcel Holtmann <[email protected]>
 */

#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)
{}

/* ------- Interface to HCI layer ------ */

/* Reset device */
static int hci_uart_flush(struct hci_dev *hdev)
{}

/* Initialize device */
static int hci_uart_open(struct hci_dev *hdev)
{}

/* Close device */
static int hci_uart_close(struct hci_dev *hdev)
{}

/* Send frames from HCI layer */
static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
{}

static int hci_uart_setup(struct hci_dev *hdev)
{}

/* Check if the device is wakeable */
static bool hci_uart_wakeup(struct hci_dev *hdev)
{}

/** hci_uart_write_wakeup - transmit buffer wakeup
 * @serdev: serial device
 *
 * This function is called by the serdev framework when it accepts
 * more data being sent.
 */
static void hci_uart_write_wakeup(struct serdev_device *serdev)
{}

/** hci_uart_receive_buf - receive buffer wakeup
 * @serdev: serial device
 * @data:   pointer to received data
 * @count:  count of received data in bytes
 *
 * This function is called by the serdev framework when it received data
 * in the RX buffer.
 *
 * Return: number of processed bytes
 */
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();