#include <linux/module.h>
#include <linux/slab.h>
#include <linux/rpmsg.h>
#include <linux/of.h>
#include <linux/soc/qcom/wcnss_ctrl.h>
#include <linux/platform_device.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
#include "btqca.h"
struct btqcomsmd { … };
static int btqcomsmd_recv(struct hci_dev *hdev, unsigned int type,
const void *data, size_t count)
{ … }
static int btqcomsmd_acl_callback(struct rpmsg_device *rpdev, void *data,
int count, void *priv, u32 addr)
{ … }
static int btqcomsmd_cmd_callback(struct rpmsg_device *rpdev, void *data,
int count, void *priv, u32 addr)
{ … }
static int btqcomsmd_send(struct hci_dev *hdev, struct sk_buff *skb)
{ … }
static int btqcomsmd_open(struct hci_dev *hdev)
{ … }
static int btqcomsmd_close(struct hci_dev *hdev)
{ … }
static int btqcomsmd_setup(struct hci_dev *hdev)
{ … }
static int btqcomsmd_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
{ … }
static int btqcomsmd_probe(struct platform_device *pdev)
{ … }
static void btqcomsmd_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id btqcomsmd_of_match[] = …;
MODULE_DEVICE_TABLE(of, btqcomsmd_of_match);
static struct platform_driver btqcomsmd_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;