aboutsummaryrefslogtreecommitdiffstats
path: root/net/nfc
diff options
context:
space:
mode:
authorJulien Lefrique <lefrique@marvell.com>2014-10-21 16:52:48 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2014-11-28 14:07:51 +0100
commit485f442fd5e3ba16b47df0e111165eabcf7ce96d (patch)
treec7fa563a2b7f391863bef907d5d2392e80bb2195 /net/nfc
parentNFC: NCI: Configure ATR_RES general bytes (diff)
downloadlinux-dev-485f442fd5e3ba16b47df0e111165eabcf7ce96d.tar.xz
linux-dev-485f442fd5e3ba16b47df0e111165eabcf7ce96d.zip
NFC: NCI: Implement Target mode send function
As specified in NCI 1.0 and NCI 1.1, when using the NFC-DEP RF Interface, the DH and the NFCC shall only use the Static RF Connection for data communication with a Remote NFC Endpoint. Signed-off-by: Julien Lefrique <lefrique@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc')
-rw-r--r--net/nfc/nci/core.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c
index 8f8bfdf145cb..5e3971e88ea5 100644
--- a/net/nfc/nci/core.c
+++ b/net/nfc/nci/core.c
@@ -717,6 +717,18 @@ static int nci_transceive(struct nfc_dev *nfc_dev, struct nfc_target *target,
return rc;
}
+static int nci_tm_send(struct nfc_dev *nfc_dev, struct sk_buff *skb)
+{
+ struct nci_dev *ndev = nfc_get_drvdata(nfc_dev);
+ int rc;
+
+ rc = nci_send_data(ndev, NCI_STATIC_RF_CONN_ID, skb);
+ if (rc)
+ pr_err("unable to send data\n");
+
+ return rc;
+}
+
static int nci_enable_se(struct nfc_dev *nfc_dev, u32 se_idx)
{
return 0;
@@ -742,6 +754,7 @@ static struct nfc_ops nci_nfc_ops = {
.activate_target = nci_activate_target,
.deactivate_target = nci_deactivate_target,
.im_transceive = nci_transceive,
+ .tm_send = nci_tm_send,
.enable_se = nci_enable_se,
.disable_se = nci_disable_se,
.discover_se = nci_discover_se,