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>
This commit is contained in:
Amitkumar Karwar 2014-01-06 12:58:18 -08:00 committed by Samuel Ortiz
parent 86e8586ed5
commit 22c15bf30b
2 changed files with 17 additions and 0 deletions

View File

@ -155,6 +155,7 @@ void nci_free_device(struct nci_dev *ndev);
int nci_register_device(struct nci_dev *ndev); int nci_register_device(struct nci_dev *ndev);
void nci_unregister_device(struct nci_dev *ndev); void nci_unregister_device(struct nci_dev *ndev);
int nci_recv_frame(struct nci_dev *ndev, struct sk_buff *skb); int nci_recv_frame(struct nci_dev *ndev, struct sk_buff *skb);
int nci_set_config(struct nci_dev *ndev, __u8 id, size_t len, __u8 *val);
static inline struct sk_buff *nci_skb_alloc(struct nci_dev *ndev, static inline struct sk_buff *nci_skb_alloc(struct nci_dev *ndev,
unsigned int len, unsigned int len,

View File

@ -413,6 +413,22 @@ static int nci_dev_down(struct nfc_dev *nfc_dev)
return nci_close_device(ndev); 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) static int nci_set_local_general_bytes(struct nfc_dev *nfc_dev)
{ {
struct nci_dev *ndev = nfc_get_drvdata(nfc_dev); struct nci_dev *ndev = nfc_get_drvdata(nfc_dev);