Lines Matching refs:dev

115 	struct nfc_dev *dev;  in __get_device_from_cb()  local
123 dev = nfc_get_device(idx); in __get_device_from_cb()
124 if (!dev) in __get_device_from_cb()
127 return dev; in __get_device_from_cb()
134 struct nfc_dev *dev = (struct nfc_dev *) cb->args[1]; in nfc_genl_dump_targets() local
137 if (!dev) { in nfc_genl_dump_targets()
138 dev = __get_device_from_cb(cb); in nfc_genl_dump_targets()
139 if (IS_ERR(dev)) in nfc_genl_dump_targets()
140 return PTR_ERR(dev); in nfc_genl_dump_targets()
142 cb->args[1] = (long) dev; in nfc_genl_dump_targets()
145 device_lock(&dev->dev); in nfc_genl_dump_targets()
147 cb->seq = dev->targets_generation; in nfc_genl_dump_targets()
149 while (i < dev->n_targets) { in nfc_genl_dump_targets()
150 rc = nfc_genl_send_target(skb, &dev->targets[i], cb, in nfc_genl_dump_targets()
158 device_unlock(&dev->dev); in nfc_genl_dump_targets()
167 struct nfc_dev *dev = (struct nfc_dev *) cb->args[1]; in nfc_genl_dump_targets_done() local
169 if (dev) in nfc_genl_dump_targets_done()
170 nfc_put_device(dev); in nfc_genl_dump_targets_done()
175 int nfc_genl_targets_found(struct nfc_dev *dev) in nfc_genl_targets_found() argument
180 dev->genl_data.poll_req_portid = 0; in nfc_genl_targets_found()
191 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_targets_found()
204 int nfc_genl_target_lost(struct nfc_dev *dev, u32 target_idx) in nfc_genl_target_lost() argument
218 if (nla_put_string(msg, NFC_ATTR_DEVICE_NAME, nfc_device_name(dev)) || in nfc_genl_target_lost()
234 int nfc_genl_tm_activated(struct nfc_dev *dev, u32 protocol) in nfc_genl_tm_activated() argument
248 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_tm_activated()
265 int nfc_genl_tm_deactivated(struct nfc_dev *dev) in nfc_genl_tm_deactivated() argument
279 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_tm_deactivated()
294 static int nfc_genl_setup_device_added(struct nfc_dev *dev, struct sk_buff *msg) in nfc_genl_setup_device_added() argument
296 if (nla_put_string(msg, NFC_ATTR_DEVICE_NAME, nfc_device_name(dev)) || in nfc_genl_setup_device_added()
297 nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx) || in nfc_genl_setup_device_added()
298 nla_put_u32(msg, NFC_ATTR_PROTOCOLS, dev->supported_protocols) || in nfc_genl_setup_device_added()
299 nla_put_u8(msg, NFC_ATTR_DEVICE_POWERED, dev->dev_up) || in nfc_genl_setup_device_added()
300 nla_put_u8(msg, NFC_ATTR_RF_MODE, dev->rf_mode)) in nfc_genl_setup_device_added()
305 int nfc_genl_device_added(struct nfc_dev *dev) in nfc_genl_device_added() argument
319 if (nfc_genl_setup_device_added(dev, msg)) in nfc_genl_device_added()
334 int nfc_genl_device_removed(struct nfc_dev *dev) in nfc_genl_device_removed() argument
348 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_device_removed()
363 int nfc_genl_llc_send_sdres(struct nfc_dev *dev, struct hlist_head *sdres_list) in nfc_genl_llc_send_sdres() argument
382 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_llc_send_sdres()
429 int nfc_genl_se_added(struct nfc_dev *dev, u32 se_idx, u16 type) in nfc_genl_se_added() argument
443 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx) || in nfc_genl_se_added()
460 int nfc_genl_se_removed(struct nfc_dev *dev, u32 se_idx) in nfc_genl_se_removed() argument
474 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx) || in nfc_genl_se_removed()
490 int nfc_genl_se_transaction(struct nfc_dev *dev, u8 se_idx, in nfc_genl_se_transaction() argument
506 se = nfc_find_se(dev, se_idx); in nfc_genl_se_transaction()
510 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx) || in nfc_genl_se_transaction()
520 devm_kfree(&dev->dev, evt_transaction); in nfc_genl_se_transaction()
531 devm_kfree(&dev->dev, evt_transaction); in nfc_genl_se_transaction()
536 int nfc_genl_se_connectivity(struct nfc_dev *dev, u8 se_idx) in nfc_genl_se_connectivity() argument
551 se = nfc_find_se(dev, se_idx); in nfc_genl_se_connectivity()
555 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx) || in nfc_genl_se_connectivity()
572 static int nfc_genl_send_device(struct sk_buff *msg, struct nfc_dev *dev, in nfc_genl_send_device() argument
587 if (nfc_genl_setup_device_added(dev, msg)) in nfc_genl_send_device()
602 struct nfc_dev *dev = (struct nfc_dev *) cb->args[1]; in nfc_genl_dump_devices() local
619 dev = nfc_device_iter_next(iter); in nfc_genl_dump_devices()
622 while (dev) { in nfc_genl_dump_devices()
625 rc = nfc_genl_send_device(skb, dev, NETLINK_CB(cb->skb).portid, in nfc_genl_dump_devices()
630 dev = nfc_device_iter_next(iter); in nfc_genl_dump_devices()
635 cb->args[1] = (long) dev; in nfc_genl_dump_devices()
652 int nfc_genl_dep_link_up_event(struct nfc_dev *dev, u32 target_idx, in nfc_genl_dep_link_up_event() argument
668 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_dep_link_up_event()
679 dev->dep_link_up = true; in nfc_genl_dep_link_up_event()
691 int nfc_genl_dep_link_down_event(struct nfc_dev *dev) in nfc_genl_dep_link_down_event() argument
707 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_dep_link_down_event()
725 struct nfc_dev *dev; in nfc_genl_get_device() local
734 dev = nfc_get_device(idx); in nfc_genl_get_device()
735 if (!dev) in nfc_genl_get_device()
744 rc = nfc_genl_send_device(msg, dev, info->snd_portid, info->snd_seq, in nfc_genl_get_device()
749 nfc_put_device(dev); in nfc_genl_get_device()
756 nfc_put_device(dev); in nfc_genl_get_device()
762 struct nfc_dev *dev; in nfc_genl_dev_up() local
771 dev = nfc_get_device(idx); in nfc_genl_dev_up()
772 if (!dev) in nfc_genl_dev_up()
775 rc = nfc_dev_up(dev); in nfc_genl_dev_up()
777 nfc_put_device(dev); in nfc_genl_dev_up()
783 struct nfc_dev *dev; in nfc_genl_dev_down() local
792 dev = nfc_get_device(idx); in nfc_genl_dev_down()
793 if (!dev) in nfc_genl_dev_down()
796 rc = nfc_dev_down(dev); in nfc_genl_dev_down()
798 nfc_put_device(dev); in nfc_genl_dev_down()
804 struct nfc_dev *dev; in nfc_genl_start_poll() local
827 dev = nfc_get_device(idx); in nfc_genl_start_poll()
828 if (!dev) in nfc_genl_start_poll()
831 mutex_lock(&dev->genl_data.genl_data_mutex); in nfc_genl_start_poll()
833 rc = nfc_start_poll(dev, im_protocols, tm_protocols); in nfc_genl_start_poll()
835 dev->genl_data.poll_req_portid = info->snd_portid; in nfc_genl_start_poll()
837 mutex_unlock(&dev->genl_data.genl_data_mutex); in nfc_genl_start_poll()
839 nfc_put_device(dev); in nfc_genl_start_poll()
845 struct nfc_dev *dev; in nfc_genl_stop_poll() local
854 dev = nfc_get_device(idx); in nfc_genl_stop_poll()
855 if (!dev) in nfc_genl_stop_poll()
858 device_lock(&dev->dev); in nfc_genl_stop_poll()
860 if (!dev->polling) { in nfc_genl_stop_poll()
861 device_unlock(&dev->dev); in nfc_genl_stop_poll()
862 nfc_put_device(dev); in nfc_genl_stop_poll()
866 device_unlock(&dev->dev); in nfc_genl_stop_poll()
868 mutex_lock(&dev->genl_data.genl_data_mutex); in nfc_genl_stop_poll()
870 if (dev->genl_data.poll_req_portid != info->snd_portid) { in nfc_genl_stop_poll()
875 rc = nfc_stop_poll(dev); in nfc_genl_stop_poll()
876 dev->genl_data.poll_req_portid = 0; in nfc_genl_stop_poll()
879 mutex_unlock(&dev->genl_data.genl_data_mutex); in nfc_genl_stop_poll()
880 nfc_put_device(dev); in nfc_genl_stop_poll()
886 struct nfc_dev *dev; in nfc_genl_activate_target() local
897 dev = nfc_get_device(device_idx); in nfc_genl_activate_target()
898 if (!dev) in nfc_genl_activate_target()
904 nfc_deactivate_target(dev, target_idx, NFC_TARGET_MODE_SLEEP); in nfc_genl_activate_target()
905 rc = nfc_activate_target(dev, target_idx, protocol); in nfc_genl_activate_target()
907 nfc_put_device(dev); in nfc_genl_activate_target()
914 struct nfc_dev *dev; in nfc_genl_deactivate_target() local
924 dev = nfc_get_device(device_idx); in nfc_genl_deactivate_target()
925 if (!dev) in nfc_genl_deactivate_target()
930 rc = nfc_deactivate_target(dev, target_idx, NFC_TARGET_MODE_SLEEP); in nfc_genl_deactivate_target()
932 nfc_put_device(dev); in nfc_genl_deactivate_target()
938 struct nfc_dev *dev; in nfc_genl_dep_link_up() local
960 dev = nfc_get_device(idx); in nfc_genl_dep_link_up()
961 if (!dev) in nfc_genl_dep_link_up()
964 rc = nfc_dep_link_up(dev, tgt_idx, comm); in nfc_genl_dep_link_up()
966 nfc_put_device(dev); in nfc_genl_dep_link_up()
973 struct nfc_dev *dev; in nfc_genl_dep_link_down() local
982 dev = nfc_get_device(idx); in nfc_genl_dep_link_down()
983 if (!dev) in nfc_genl_dep_link_down()
986 rc = nfc_dep_link_down(dev); in nfc_genl_dep_link_down()
988 nfc_put_device(dev); in nfc_genl_dep_link_down()
1003 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, local->dev->idx) || in nfc_genl_send_params()
1019 struct nfc_dev *dev; in nfc_genl_llc_get_params() local
1030 dev = nfc_get_device(idx); in nfc_genl_llc_get_params()
1031 if (!dev) in nfc_genl_llc_get_params()
1034 device_lock(&dev->dev); in nfc_genl_llc_get_params()
1036 local = nfc_llcp_find_local(dev); in nfc_genl_llc_get_params()
1054 device_unlock(&dev->dev); in nfc_genl_llc_get_params()
1056 nfc_put_device(dev); in nfc_genl_llc_get_params()
1070 struct nfc_dev *dev; in nfc_genl_llc_set_params() local
1099 dev = nfc_get_device(idx); in nfc_genl_llc_set_params()
1100 if (!dev) in nfc_genl_llc_set_params()
1103 device_lock(&dev->dev); in nfc_genl_llc_set_params()
1105 local = nfc_llcp_find_local(dev); in nfc_genl_llc_set_params()
1112 if (dev->dep_link_up) { in nfc_genl_llc_set_params()
1130 device_unlock(&dev->dev); in nfc_genl_llc_set_params()
1132 nfc_put_device(dev); in nfc_genl_llc_set_params()
1139 struct nfc_dev *dev; in nfc_genl_llc_sdreq() local
1156 dev = nfc_get_device(idx); in nfc_genl_llc_sdreq()
1157 if (!dev) in nfc_genl_llc_sdreq()
1160 device_lock(&dev->dev); in nfc_genl_llc_sdreq()
1162 if (dev->dep_link_up == false) { in nfc_genl_llc_sdreq()
1167 local = nfc_llcp_find_local(dev); in nfc_genl_llc_sdreq()
1222 device_unlock(&dev->dev); in nfc_genl_llc_sdreq()
1224 nfc_put_device(dev); in nfc_genl_llc_sdreq()
1231 struct nfc_dev *dev; in nfc_genl_fw_download() local
1241 dev = nfc_get_device(idx); in nfc_genl_fw_download()
1242 if (!dev) in nfc_genl_fw_download()
1248 rc = nfc_fw_download(dev, firmware_name); in nfc_genl_fw_download()
1250 nfc_put_device(dev); in nfc_genl_fw_download()
1254 int nfc_genl_fw_download_done(struct nfc_dev *dev, const char *firmware_name, in nfc_genl_fw_download_done() argument
1271 nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx)) in nfc_genl_fw_download_done()
1288 struct nfc_dev *dev; in nfc_genl_enable_se() local
1299 dev = nfc_get_device(idx); in nfc_genl_enable_se()
1300 if (!dev) in nfc_genl_enable_se()
1303 rc = nfc_enable_se(dev, se_idx); in nfc_genl_enable_se()
1305 nfc_put_device(dev); in nfc_genl_enable_se()
1311 struct nfc_dev *dev; in nfc_genl_disable_se() local
1322 dev = nfc_get_device(idx); in nfc_genl_disable_se()
1323 if (!dev) in nfc_genl_disable_se()
1326 rc = nfc_disable_se(dev, se_idx); in nfc_genl_disable_se()
1328 nfc_put_device(dev); in nfc_genl_disable_se()
1332 static int nfc_genl_send_se(struct sk_buff *msg, struct nfc_dev *dev, in nfc_genl_send_se() argument
1340 list_for_each_entry_safe(se, n, &dev->secure_elements, list) { in nfc_genl_send_se()
1349 if (nla_put_u32(msg, NFC_ATTR_DEVICE_INDEX, dev->idx) || in nfc_genl_send_se()
1368 struct nfc_dev *dev = (struct nfc_dev *) cb->args[1]; in nfc_genl_dump_ses() local
1385 dev = nfc_device_iter_next(iter); in nfc_genl_dump_ses()
1388 while (dev) { in nfc_genl_dump_ses()
1391 rc = nfc_genl_send_se(skb, dev, NETLINK_CB(cb->skb).portid, in nfc_genl_dump_ses()
1396 dev = nfc_device_iter_next(iter); in nfc_genl_dump_ses()
1401 cb->args[1] = (long) dev; in nfc_genl_dump_ses()
1418 static int nfc_se_io(struct nfc_dev *dev, u32 se_idx, in nfc_se_io() argument
1425 pr_debug("%s se index %d\n", dev_name(&dev->dev), se_idx); in nfc_se_io()
1427 device_lock(&dev->dev); in nfc_se_io()
1429 if (!device_is_registered(&dev->dev)) { in nfc_se_io()
1434 if (!dev->dev_up) { in nfc_se_io()
1439 if (!dev->ops->se_io) { in nfc_se_io()
1444 se = nfc_find_se(dev, se_idx); in nfc_se_io()
1455 rc = dev->ops->se_io(dev, se_idx, apdu, in nfc_se_io()
1458 device_unlock(&dev->dev); in nfc_se_io()
1462 device_unlock(&dev->dev); in nfc_se_io()
1512 struct nfc_dev *dev; in nfc_genl_se_io() local
1527 dev = nfc_get_device(dev_idx); in nfc_genl_se_io()
1528 if (!dev) in nfc_genl_se_io()
1531 if (!dev->ops || !dev->ops->se_io) { in nfc_genl_se_io()
1553 rc = nfc_se_io(dev, se_idx, apdu, apdu_len, se_io_cb, ctx); in nfc_genl_se_io()
1556 nfc_put_device(dev); in nfc_genl_se_io()
1563 struct nfc_dev *dev; in nfc_genl_vendor_cmd() local
1579 dev = nfc_get_device(dev_idx); in nfc_genl_vendor_cmd()
1580 if (!dev) in nfc_genl_vendor_cmd()
1583 if (!dev->vendor_cmds || !dev->n_vendor_cmds) { in nfc_genl_vendor_cmd()
1600 for (i = 0; i < dev->n_vendor_cmds; i++) { in nfc_genl_vendor_cmd()
1601 cmd = &dev->vendor_cmds[i]; in nfc_genl_vendor_cmd()
1606 dev->cur_cmd_info = info; in nfc_genl_vendor_cmd()
1607 err = cmd->doit(dev, data, data_len); in nfc_genl_vendor_cmd()
1608 dev->cur_cmd_info = NULL; in nfc_genl_vendor_cmd()
1615 nfc_put_device(dev); in nfc_genl_vendor_cmd()
1628 __nfc_alloc_vendor_cmd_skb(struct nfc_dev *dev, int approxlen, in __nfc_alloc_vendor_cmd_skb() argument
1646 if (nla_put_u32(skb, NFC_ATTR_DEVICE_INDEX, dev->idx)) in __nfc_alloc_vendor_cmd_skb()
1653 ((void **)skb->cb)[0] = dev; in __nfc_alloc_vendor_cmd_skb()
1663 struct sk_buff *__nfc_alloc_vendor_cmd_reply_skb(struct nfc_dev *dev, in __nfc_alloc_vendor_cmd_reply_skb() argument
1668 if (WARN_ON(!dev->cur_cmd_info)) in __nfc_alloc_vendor_cmd_reply_skb()
1671 return __nfc_alloc_vendor_cmd_skb(dev, approxlen, in __nfc_alloc_vendor_cmd_reply_skb()
1672 dev->cur_cmd_info->snd_portid, in __nfc_alloc_vendor_cmd_reply_skb()
1673 dev->cur_cmd_info->snd_seq, attr, in __nfc_alloc_vendor_cmd_reply_skb()
1680 struct nfc_dev *dev = ((void **)skb->cb)[0]; in nfc_vendor_cmd_reply() local
1686 if (WARN_ON(!dev->cur_cmd_info)) { in nfc_vendor_cmd_reply()
1692 return genlmsg_reply(skb, dev->cur_cmd_info); in nfc_vendor_cmd_reply()
1838 struct nfc_dev *dev; in nfc_urelease_event_work() local
1845 dev = nfc_device_iter_next(&iter); in nfc_urelease_event_work()
1847 while (dev) { in nfc_urelease_event_work()
1848 mutex_lock(&dev->genl_data.genl_data_mutex); in nfc_urelease_event_work()
1850 if (dev->genl_data.poll_req_portid == w->portid) { in nfc_urelease_event_work()
1851 nfc_stop_poll(dev); in nfc_urelease_event_work()
1852 dev->genl_data.poll_req_portid = 0; in nfc_urelease_event_work()
1855 mutex_unlock(&dev->genl_data.genl_data_mutex); in nfc_urelease_event_work()
1857 dev = nfc_device_iter_next(&iter); in nfc_urelease_event_work()