#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <linux/nfc.h>
#include <linux/netdevice.h>
#include <net/nfc/nfc.h>
#include "pn533.h"
#define VERSION …
#define PN533_VENDOR_ID …
#define PN533_PRODUCT_ID …
#define SCM_VENDOR_ID …
#define SCL3711_PRODUCT_ID …
#define SONY_VENDOR_ID …
#define PASORI_PRODUCT_ID …
#define ACS_VENDOR_ID …
#define ACR122U_PRODUCT_ID …
static const struct usb_device_id pn533_usb_table[] = …;
MODULE_DEVICE_TABLE(usb, pn533_usb_table);
struct pn533_usb_phy { … };
static void pn533_recv_response(struct urb *urb)
{ … }
static int pn533_submit_urb_for_response(struct pn533_usb_phy *phy, gfp_t flags)
{ … }
static void pn533_recv_ack(struct urb *urb)
{ … }
static int pn533_submit_urb_for_ack(struct pn533_usb_phy *phy, gfp_t flags)
{ … }
static int pn533_usb_send_ack(struct pn533 *dev, gfp_t flags)
{ … }
struct pn533_out_arg { … };
static int pn533_usb_send_frame(struct pn533 *dev,
struct sk_buff *out)
{ … }
static void pn533_usb_abort_cmd(struct pn533 *dev, gfp_t flags)
{ … }
#define PN533_ACR122_TX_FRAME_HEADER_LEN …
#define PN533_ACR122_TX_FRAME_TAIL_LEN …
#define PN533_ACR122_RX_FRAME_HEADER_LEN …
#define PN533_ACR122_RX_FRAME_TAIL_LEN …
#define PN533_ACR122_FRAME_MAX_PAYLOAD_LEN …
#define PN533_ACR122_PC_TO_RDR_ICCPOWERON …
#define PN533_ACR122_PC_TO_RDR_ESCAPE …
#define PN533_ACR122_RDR_TO_PC_ESCAPE …
struct pn533_acr122_ccid_hdr { … } __packed;
struct pn533_acr122_apdu_hdr { … } __packed;
struct pn533_acr122_tx_frame { … } __packed;
struct pn533_acr122_rx_frame { … } __packed;
static void pn533_acr122_tx_frame_init(void *_frame, u8 cmd_code)
{ … }
static void pn533_acr122_tx_frame_finish(void *_frame)
{ … }
static void pn533_acr122_tx_update_payload_len(void *_frame, int len)
{ … }
static bool pn533_acr122_is_rx_frame_valid(void *_frame, struct pn533 *dev)
{ … }
static int pn533_acr122_rx_frame_size(void *frame)
{ … }
static u8 pn533_acr122_get_cmd_code(void *frame)
{ … }
static struct pn533_frame_ops pn533_acr122_frame_ops = …;
struct pn533_acr122_poweron_rdr_arg { … };
static void pn533_acr122_poweron_rdr_resp(struct urb *urb)
{ … }
static int pn533_acr122_poweron_rdr(struct pn533_usb_phy *phy)
{ … }
static void pn533_out_complete(struct urb *urb)
{ … }
static void pn533_ack_complete(struct urb *urb)
{ … }
static const struct pn533_phy_ops usb_phy_ops = …;
static int pn533_usb_probe(struct usb_interface *interface,
const struct usb_device_id *id)
{ … }
static void pn533_usb_disconnect(struct usb_interface *interface)
{ … }
static struct usb_driver pn533_usb_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…);
MODULE_LICENSE(…) …;