#define pr_fmt(fmt) …
#include "digital.h"
#define DIGITAL_NFC_DEP_N_RETRY_NACK …
#define DIGITAL_NFC_DEP_N_RETRY_ATN …
#define DIGITAL_NFC_DEP_FRAME_DIR_OUT …
#define DIGITAL_NFC_DEP_FRAME_DIR_IN …
#define DIGITAL_NFC_DEP_NFCA_SOD_SB …
#define DIGITAL_CMD_ATR_REQ …
#define DIGITAL_CMD_ATR_RES …
#define DIGITAL_CMD_PSL_REQ …
#define DIGITAL_CMD_PSL_RES …
#define DIGITAL_CMD_DEP_REQ …
#define DIGITAL_CMD_DEP_RES …
#define DIGITAL_ATR_REQ_MIN_SIZE …
#define DIGITAL_ATR_REQ_MAX_SIZE …
#define DIGITAL_ATR_RES_TO_WT(s) …
#define DIGITAL_DID_MAX …
#define DIGITAL_PAYLOAD_SIZE_MAX …
#define DIGITAL_PAYLOAD_BITS_TO_PP(s) …
#define DIGITAL_PAYLOAD_PP_TO_BITS(s) …
#define DIGITAL_PAYLOAD_BITS_TO_FSL(s) …
#define DIGITAL_PAYLOAD_FSL_TO_BITS(s) …
#define DIGITAL_GB_BIT …
#define DIGITAL_NFC_DEP_PFB_TYPE(pfb) …
#define DIGITAL_NFC_DEP_PFB_TIMEOUT_BIT …
#define DIGITAL_NFC_DEP_PFB_MI_BIT …
#define DIGITAL_NFC_DEP_PFB_NACK_BIT …
#define DIGITAL_NFC_DEP_PFB_DID_BIT …
#define DIGITAL_NFC_DEP_PFB_IS_TIMEOUT(pfb) …
#define DIGITAL_NFC_DEP_MI_BIT_SET(pfb) …
#define DIGITAL_NFC_DEP_NACK_BIT_SET(pfb) …
#define DIGITAL_NFC_DEP_NAD_BIT_SET(pfb) …
#define DIGITAL_NFC_DEP_DID_BIT_SET(pfb) …
#define DIGITAL_NFC_DEP_PFB_PNI(pfb) …
#define DIGITAL_NFC_DEP_RTOX_VALUE(data) …
#define DIGITAL_NFC_DEP_RTOX_MAX …
#define DIGITAL_NFC_DEP_PFB_I_PDU …
#define DIGITAL_NFC_DEP_PFB_ACK_NACK_PDU …
#define DIGITAL_NFC_DEP_PFB_SUPERVISOR_PDU …
struct digital_atr_req { … } __packed;
struct digital_atr_res { … } __packed;
struct digital_psl_req { … } __packed;
struct digital_psl_res { … } __packed;
struct digital_dep_req_res { … } __packed;
static void digital_in_recv_dep_res(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp);
static void digital_tg_recv_dep_req(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp);
static const u8 digital_payload_bits_map[4] = …;
#define DIGITAL_ATR_RES_RWT …
#define DIGITAL_NFC_DEP_IN_MAX_WT …
#define DIGITAL_NFC_DEP_TG_MAX_WT …
static const u16 digital_rwt_map[DIGITAL_NFC_DEP_IN_MAX_WT + 1] = …;
static u8 digital_payload_bits_to_size(u8 payload_bits)
{ … }
static u8 digital_payload_size_to_bits(u8 payload_size)
{ … }
static void digital_skb_push_dep_sod(struct nfc_digital_dev *ddev,
struct sk_buff *skb)
{ … }
static int digital_skb_pull_dep_sod(struct nfc_digital_dev *ddev,
struct sk_buff *skb)
{ … }
static struct sk_buff *
digital_send_dep_data_prep(struct nfc_digital_dev *ddev, struct sk_buff *skb,
struct digital_dep_req_res *dep_req_res,
struct digital_data_exch *data_exch)
{ … }
static struct sk_buff *
digital_recv_dep_data_gather(struct nfc_digital_dev *ddev, u8 pfb,
struct sk_buff *resp,
int (*send_ack)(struct nfc_digital_dev *ddev,
struct digital_data_exch
*data_exch),
struct digital_data_exch *data_exch)
{ … }
static void digital_in_recv_psl_res(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp)
{ … }
static int digital_in_send_psl_req(struct nfc_digital_dev *ddev,
struct nfc_target *target)
{ … }
static void digital_in_recv_atr_res(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp)
{ … }
int digital_in_send_atr_req(struct nfc_digital_dev *ddev,
struct nfc_target *target, __u8 comm_mode, __u8 *gb,
size_t gb_len)
{ … }
static int digital_in_send_ack(struct nfc_digital_dev *ddev,
struct digital_data_exch *data_exch)
{ … }
static int digital_in_send_nack(struct nfc_digital_dev *ddev,
struct digital_data_exch *data_exch)
{ … }
static int digital_in_send_atn(struct nfc_digital_dev *ddev,
struct digital_data_exch *data_exch)
{ … }
static int digital_in_send_rtox(struct nfc_digital_dev *ddev,
struct digital_data_exch *data_exch, u8 rtox)
{ … }
static int digital_in_send_saved_skb(struct nfc_digital_dev *ddev,
struct digital_data_exch *data_exch)
{ … }
static void digital_in_recv_dep_res(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp)
{ … }
int digital_in_send_dep_req(struct nfc_digital_dev *ddev,
struct nfc_target *target, struct sk_buff *skb,
struct digital_data_exch *data_exch)
{ … }
static void digital_tg_set_rf_tech(struct nfc_digital_dev *ddev, u8 rf_tech)
{ … }
static int digital_tg_send_ack(struct nfc_digital_dev *ddev,
struct digital_data_exch *data_exch)
{ … }
static int digital_tg_send_atn(struct nfc_digital_dev *ddev)
{ … }
static int digital_tg_send_saved_skb(struct nfc_digital_dev *ddev)
{ … }
static void digital_tg_recv_dep_req(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp)
{ … }
int digital_tg_send_dep_res(struct nfc_digital_dev *ddev, struct sk_buff *skb)
{ … }
static void digital_tg_send_psl_res_complete(struct nfc_digital_dev *ddev,
void *arg, struct sk_buff *resp)
{ … }
static int digital_tg_send_psl_res(struct nfc_digital_dev *ddev, u8 did,
u8 rf_tech)
{ … }
static void digital_tg_recv_psl_req(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp)
{ … }
static void digital_tg_send_atr_res_complete(struct nfc_digital_dev *ddev,
void *arg, struct sk_buff *resp)
{ … }
static int digital_tg_send_atr_res(struct nfc_digital_dev *ddev,
struct digital_atr_req *atr_req)
{ … }
void digital_tg_recv_atr_req(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *resp)
{ … }