#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/nfc.h>
#include <linux/netdevice.h>
#include <linux/of.h>
#include <linux/serdev.h>
#include "pn533.h"
#define PN532_UART_SKB_BUFF_LEN …
enum send_wakeup { … };
struct pn532_uart_phy { … };
static int pn532_uart_send_frame(struct pn533 *dev,
struct sk_buff *out)
{ … }
static int pn532_uart_send_ack(struct pn533 *dev, gfp_t flags)
{ … }
static void pn532_uart_abort_cmd(struct pn533 *dev, gfp_t flags)
{ … }
static int pn532_dev_up(struct pn533 *dev)
{ … }
static int pn532_dev_down(struct pn533 *dev)
{ … }
static const struct pn533_phy_ops uart_phy_ops = …;
static void pn532_cmd_timeout(struct timer_list *t)
{ … }
static int pn532_uart_rx_is_frame(struct sk_buff *skb)
{ … }
static size_t pn532_receive_buf(struct serdev_device *serdev,
const u8 *data, size_t count)
{ … }
static const struct serdev_device_ops pn532_serdev_ops = …;
static const struct of_device_id pn532_uart_of_match[] = …;
MODULE_DEVICE_TABLE(of, pn532_uart_of_match);
static int pn532_uart_probe(struct serdev_device *serdev)
{ … }
static void pn532_uart_remove(struct serdev_device *serdev)
{ … }
static struct serdev_device_driver pn532_uart_driver = …;
module_serdev_device_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;