nfc_digital_dev
#define NFCSIM_ERR(d, fmt, args...) nfc_err(&d->nfc_digital_dev->nfc_dev->dev, \
#define NFCSIM_DBG(d, fmt, args...) dev_dbg(&d->nfc_digital_dev->nfc_dev->dev, \
dev->cb(dev->nfc_digital_dev, dev->arg, skb);
static int nfcsim_send(struct nfc_digital_dev *ddev, struct sk_buff *skb,
static void nfcsim_abort_cmd(struct nfc_digital_dev *ddev)
static int nfcsim_switch_rf(struct nfc_digital_dev *ddev, bool on)
static int nfcsim_in_configure_hw(struct nfc_digital_dev *ddev,
static int nfcsim_in_send_cmd(struct nfc_digital_dev *ddev,
static int nfcsim_tg_configure_hw(struct nfc_digital_dev *ddev,
static int nfcsim_tg_send_cmd(struct nfc_digital_dev *ddev,
static int nfcsim_tg_listen(struct nfc_digital_dev *ddev, u16 timeout,
struct nfc_digital_dev *nfc_digital_dev;
idx = dev->nfc_digital_dev->nfc_dev->idx;
dev->nfc_digital_dev =
if (!dev->nfc_digital_dev) {
nfc_digital_set_drvdata(dev->nfc_digital_dev, dev);
rc = nfc_digital_register_device(dev->nfc_digital_dev);
nfc_digital_free_device(dev->nfc_digital_dev);
nfc_digital_unregister_device(dev->nfc_digital_dev);
nfc_digital_free_device(dev->nfc_digital_dev);
static int port100_switch_rf(struct nfc_digital_dev *ddev, bool on)
static int port100_in_set_rf(struct nfc_digital_dev *ddev, u8 rf)
static int port100_in_set_framing(struct nfc_digital_dev *ddev, int param)
static int port100_in_configure_hw(struct nfc_digital_dev *ddev, int type,
cb(dev->nfc_digital_dev, cb_arg->complete_arg, resp);
static int port100_in_send_cmd(struct nfc_digital_dev *ddev,
static int port100_tg_set_rf(struct nfc_digital_dev *ddev, u8 rf)
static int port100_tg_set_framing(struct nfc_digital_dev *ddev, int param)
static int port100_tg_configure_hw(struct nfc_digital_dev *ddev, int type,
cb(dev->nfc_digital_dev, cb_arg->complete_arg, resp);
static int port100_tg_send_cmd(struct nfc_digital_dev *ddev,
static int port100_listen_mdaa(struct nfc_digital_dev *ddev,
static int port100_listen(struct nfc_digital_dev *ddev, u16 timeout,
dev->nfc_digital_dev = nfc_digital_allocate_device(&port100_digital_ops,
if (!dev->nfc_digital_dev) {
nfc_digital_set_parent_dev(dev->nfc_digital_dev, &interface->dev);
nfc_digital_set_drvdata(dev->nfc_digital_dev, dev);
rc = nfc_digital_register_device(dev->nfc_digital_dev);
nfc_digital_free_device(dev->nfc_digital_dev);
nfc_digital_unregister_device(dev->nfc_digital_dev);
nfc_digital_free_device(dev->nfc_digital_dev);
struct nfc_digital_dev *nfc_digital_dev;
static void port100_abort_cmd(struct nfc_digital_dev *ddev)
static int st95hf_tg_listen(struct nfc_digital_dev *ddev,
static int st95hf_tg_get_rf_tech(struct nfc_digital_dev *ddev, u8 *rf_tech)
static int st95hf_switch_rf(struct nfc_digital_dev *ddev, bool on)
static void st95hf_abort_cmd(struct nfc_digital_dev *ddev)
struct nfc_digital_dev *ddev;
struct nfc_digital_dev *nfcddev = st95context->ddev;
struct nfc_digital_dev *nfcddev = stcontext->ddev;
struct nfc_digital_dev *nfcddev = stcontext->ddev;
static int st95hf_in_configure_hw(struct nfc_digital_dev *ddev,
static int st95hf_in_send_cmd(struct nfc_digital_dev *ddev,
static int st95hf_tg_configure_hw(struct nfc_digital_dev *ddev,
static int st95hf_tg_send_cmd(struct nfc_digital_dev *ddev,
static int trf7970a_switch_rf(struct nfc_digital_dev *ddev, bool on)
static int trf7970a_in_configure_hw(struct nfc_digital_dev *ddev, int type,
static int trf7970a_send_cmd(struct nfc_digital_dev *ddev,
static int trf7970a_tg_configure_hw(struct nfc_digital_dev *ddev, int type,
static int _trf7970a_tg_listen(struct nfc_digital_dev *ddev, u16 timeout,
static int trf7970a_tg_listen(struct nfc_digital_dev *ddev, u16 timeout,
static int trf7970a_tg_listen_md(struct nfc_digital_dev *ddev,
static int trf7970a_tg_get_rf_tech(struct nfc_digital_dev *ddev, u8 *rf_tech)
static void trf7970a_abort_cmd(struct nfc_digital_dev *ddev)
struct nfc_digital_dev *ddev;
int (*in_configure_hw)(struct nfc_digital_dev *ddev, int type,
int (*in_send_cmd)(struct nfc_digital_dev *ddev, struct sk_buff *skb,
int (*tg_configure_hw)(struct nfc_digital_dev *ddev, int type,
int (*tg_send_cmd)(struct nfc_digital_dev *ddev, struct sk_buff *skb,
int (*tg_listen)(struct nfc_digital_dev *ddev, u16 timeout,
int (*tg_listen_mdaa)(struct nfc_digital_dev *ddev,
int (*tg_listen_md)(struct nfc_digital_dev *ddev, u16 timeout,
int (*tg_get_rf_tech)(struct nfc_digital_dev *ddev, u8 *rf_tech);
int (*switch_rf)(struct nfc_digital_dev *ddev, bool on);
void (*abort_cmd)(struct nfc_digital_dev *ddev);
typedef int (*digital_poll_t)(struct nfc_digital_dev *ddev, u8 rf_tech);
struct nfc_digital_dev *nfc_digital_allocate_device(const struct nfc_digital_ops *ops,
void nfc_digital_free_device(struct nfc_digital_dev *ndev);
int nfc_digital_register_device(struct nfc_digital_dev *ndev);
void nfc_digital_unregister_device(struct nfc_digital_dev *ndev);
static inline void nfc_digital_set_parent_dev(struct nfc_digital_dev *ndev,
static inline void nfc_digital_set_drvdata(struct nfc_digital_dev *dev,
static inline void *nfc_digital_get_drvdata(struct nfc_digital_dev *dev)
struct nfc_digital_dev;
typedef void (*nfc_digital_cmd_complete_t)(struct nfc_digital_dev *ddev,
static inline int digital_tg_listen(struct nfc_digital_dev *ddev, u16 timeout,
void digital_tg_recv_atr_req(struct nfc_digital_dev *ddev, void *arg,
int digital_tg_send_dep_res(struct nfc_digital_dev *ddev, struct sk_buff *skb);
int digital_tg_listen_nfca(struct nfc_digital_dev *ddev, u8 rf_tech);
int digital_tg_listen_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech);
void digital_tg_recv_md_req(struct nfc_digital_dev *ddev, void *arg,
struct sk_buff *digital_skb_alloc(struct nfc_digital_dev *ddev,
int digital_send_cmd(struct nfc_digital_dev *ddev, u8 cmd_type,
int digital_in_configure_hw(struct nfc_digital_dev *ddev, int type, int param);
static inline int digital_in_send_cmd(struct nfc_digital_dev *ddev,
void digital_poll_next_tech(struct nfc_digital_dev *ddev);
int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech);
int digital_in_send_sensb_req(struct nfc_digital_dev *ddev, u8 rf_tech);
int digital_in_send_sensf_req(struct nfc_digital_dev *ddev, u8 rf_tech);
int digital_in_send_iso15693_inv_req(struct nfc_digital_dev *ddev, u8 rf_tech);
int digital_in_iso_dep_pull_sod(struct nfc_digital_dev *ddev,
int digital_in_iso_dep_push_sod(struct nfc_digital_dev *ddev,
int digital_target_found(struct nfc_digital_dev *ddev,
int digital_in_send_atr_req(struct nfc_digital_dev *ddev,
int digital_in_send_dep_req(struct nfc_digital_dev *ddev,
int digital_tg_configure_hw(struct nfc_digital_dev *ddev, int type, int param);
static inline int digital_tg_send_cmd(struct nfc_digital_dev *ddev,
void digital_tg_recv_sens_req(struct nfc_digital_dev *ddev, void *arg,
void digital_tg_recv_sensf_req(struct nfc_digital_dev *ddev, void *arg,
static inline void digital_switch_rf(struct nfc_digital_dev *ddev, bool on)
static inline void digital_abort_cmd(struct nfc_digital_dev *ddev)
struct nfc_digital_dev *ddev = container_of(work,
struct nfc_digital_dev,
static void digital_send_cmd_complete(struct nfc_digital_dev *ddev,
struct nfc_digital_dev *ddev = container_of(work,
struct nfc_digital_dev,
int digital_send_cmd(struct nfc_digital_dev *ddev, u8 cmd_type,
int digital_in_configure_hw(struct nfc_digital_dev *ddev, int type, int param)
int digital_tg_configure_hw(struct nfc_digital_dev *ddev, int type, int param)
static int digital_tg_listen_mdaa(struct nfc_digital_dev *ddev, u8 rf_tech)
static int digital_tg_listen_md(struct nfc_digital_dev *ddev, u8 rf_tech)
int digital_target_found(struct nfc_digital_dev *ddev,
void digital_poll_next_tech(struct nfc_digital_dev *ddev)
struct sk_buff *digital_skb_alloc(struct nfc_digital_dev *ddev,
struct nfc_digital_dev *ddev = container_of(work,
struct nfc_digital_dev,
static void digital_add_poll_tech(struct nfc_digital_dev *ddev, u8 rf_tech,
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *ddev = nfc_get_drvdata(dev);
static void digital_in_send_complete(struct nfc_digital_dev *ddev, void *arg,
struct nfc_digital_dev *ddev = nfc_get_drvdata(nfc_dev);
struct nfc_digital_dev *nfc_digital_allocate_device(const struct nfc_digital_ops *ops,
struct nfc_digital_dev *ddev;
void nfc_digital_free_device(struct nfc_digital_dev *ddev)
int nfc_digital_register_device(struct nfc_digital_dev *ddev)
void nfc_digital_unregister_device(struct nfc_digital_dev *ddev)
static int digital_tg_send_atn(struct nfc_digital_dev *ddev)
static void digital_in_recv_dep_res(struct nfc_digital_dev *ddev, void *arg,
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,
static void digital_tg_recv_dep_req(struct nfc_digital_dev *ddev, void *arg,
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,
static int digital_tg_send_psl_res(struct nfc_digital_dev *ddev, u8 did,
static void digital_tg_recv_psl_req(struct nfc_digital_dev *ddev, void *arg,
static void digital_tg_send_atr_res_complete(struct nfc_digital_dev *ddev,
static int digital_tg_send_atr_res(struct nfc_digital_dev *ddev,
void digital_tg_recv_atr_req(struct nfc_digital_dev *ddev, void *arg,
static void digital_skb_push_dep_sod(struct nfc_digital_dev *ddev,
static int digital_skb_pull_dep_sod(struct nfc_digital_dev *ddev,
digital_send_dep_data_prep(struct nfc_digital_dev *ddev, struct sk_buff *skb,
digital_recv_dep_data_gather(struct nfc_digital_dev *ddev, u8 pfb,
int (*send_ack)(struct nfc_digital_dev *ddev,
static void digital_in_recv_psl_res(struct nfc_digital_dev *ddev, void *arg,
static int digital_in_send_psl_req(struct nfc_digital_dev *ddev,
static void digital_in_recv_atr_res(struct nfc_digital_dev *ddev, void *arg,
int digital_in_send_atr_req(struct nfc_digital_dev *ddev,
static int digital_in_send_ack(struct nfc_digital_dev *ddev,
static int digital_in_send_nack(struct nfc_digital_dev *ddev,
static int digital_in_send_atn(struct nfc_digital_dev *ddev,
static int digital_in_send_rtox(struct nfc_digital_dev *ddev,
static int digital_in_send_saved_skb(struct nfc_digital_dev *ddev,
static void digital_in_recv_dep_res(struct nfc_digital_dev *ddev, void *arg,
int digital_in_send_dep_req(struct nfc_digital_dev *ddev,
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,
static void digital_tg_recv_sdd_req(struct nfc_digital_dev *ddev, void *arg,
static int digital_tg_send_sens_res(struct nfc_digital_dev *ddev)
void digital_tg_recv_sens_req(struct nfc_digital_dev *ddev, void *arg,
static void digital_tg_recv_atr_or_sensf_req(struct nfc_digital_dev *ddev,
static int digital_tg_send_sensf_res(struct nfc_digital_dev *ddev,
void digital_tg_recv_sensf_req(struct nfc_digital_dev *ddev, void *arg,
static int digital_tg_config_nfca(struct nfc_digital_dev *ddev)
int digital_tg_listen_nfca(struct nfc_digital_dev *ddev, u8 rf_tech)
static int digital_tg_config_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech)
int digital_tg_listen_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech)
void digital_tg_recv_md_req(struct nfc_digital_dev *ddev, void *arg,
static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev,
int digital_in_iso_dep_pull_sod(struct nfc_digital_dev *ddev,
int digital_in_iso_dep_push_sod(struct nfc_digital_dev *ddev,
static void digital_in_recv_ats(struct nfc_digital_dev *ddev, void *arg,
static int digital_in_send_rats(struct nfc_digital_dev *ddev,
static void digital_in_recv_sel_res(struct nfc_digital_dev *ddev, void *arg,
static int digital_in_send_sel_req(struct nfc_digital_dev *ddev,
static void digital_in_recv_sdd_res(struct nfc_digital_dev *ddev, void *arg,
static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev,
static void digital_in_recv_sens_res(struct nfc_digital_dev *ddev, void *arg,
int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech)
static void digital_in_recv_attrib_res(struct nfc_digital_dev *ddev, void *arg,
static int digital_in_send_attrib_req(struct nfc_digital_dev *ddev,
static void digital_in_recv_sensb_res(struct nfc_digital_dev *ddev, void *arg,
int digital_in_send_sensb_req(struct nfc_digital_dev *ddev, u8 rf_tech)
static void digital_in_recv_sensf_res(struct nfc_digital_dev *ddev, void *arg,
int digital_in_send_sensf_req(struct nfc_digital_dev *ddev, u8 rf_tech)
static void digital_in_recv_iso15693_inv_res(struct nfc_digital_dev *ddev,
int digital_in_send_iso15693_inv_req(struct nfc_digital_dev *ddev, u8 rf_tech)
static int digital_tg_send_sel_res(struct nfc_digital_dev *ddev)
static void digital_tg_recv_sel_req(struct nfc_digital_dev *ddev, void *arg,
static int digital_tg_send_sdd_res(struct nfc_digital_dev *ddev)