summary refs log tree commit diff
path: root/net/nfc
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2014-01-06 12:58:18 -0800
committerSamuel Ortiz <sameo@linux.intel.com>2014-01-07 01:32:40 +0100
commit22c15bf30b70ab2eae300f093ffc64e182620aba (patch)
treee191a88c1cd70dd0281cad5b69e3ca79671451d0 /net/nfc
parent86e8586ed5beea15ce7c359f02a1084c2da93bc7 (diff)
downloadlinux-22c15bf30b70ab2eae300f093ffc64e182620aba.tar.gz
NFC: NCI: Add set_config API
This API can be used by drivers to send their custom
configuration using SET_CONFIG NCI command to the device.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc')
-rw-r--r--net/nfc/nci/core.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c
index 29c1caf3e975..46bda010bf11 100644
--- a/net/nfc/nci/core.c
+++ b/net/nfc/nci/core.c
@@ -413,6 +413,22 @@ static int nci_dev_down(struct nfc_dev *nfc_dev)
 	return nci_close_device(ndev);
 }
 
+int nci_set_config(struct nci_dev *ndev, __u8 id, size_t len, __u8 *val)
+{
+	struct nci_set_config_param param;
+
+	if (!val || !len)
+		return 0;
+
+	param.id = id;
+	param.len = len;
+	param.val = val;
+
+	return __nci_request(ndev, nci_set_config_req, (unsigned long)&param,
+			     msecs_to_jiffies(NCI_SET_CONFIG_TIMEOUT));
+}
+EXPORT_SYMBOL(nci_set_config);
+
 static int nci_set_local_general_bytes(struct nfc_dev *nfc_dev)
 {
 	struct nci_dev *ndev = nfc_get_drvdata(nfc_dev);