From: Christophe Ricard Date: Wed, 12 Nov 2014 23:30:37 +0000 (+0100) Subject: NFC: nci: Update nci_disable_se to run proprietary commands to disable a secure element X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e9ef9431a347185a8a6a88b072506047d329e480;p=linux-beck.git NFC: nci: Update nci_disable_se to run proprietary commands to disable a secure element Some NFC controller using NCI protocols may need a proprietary commands flow to disable a secure element Signed-off-by: Christophe Ricard Signed-off-by: Samuel Ortiz --- diff --git a/include/net/nfc/nci_core.h b/include/net/nfc/nci_core.h index db2d12790112..dd97dd7176e5 100644 --- a/include/net/nfc/nci_core.h +++ b/include/net/nfc/nci_core.h @@ -73,6 +73,7 @@ struct nci_ops { int (*setup)(struct nci_dev *ndev); __u32 (*get_rfprotocol)(struct nci_dev *ndev, __u8 rf_protocol); int (*discover_se)(struct nci_dev *ndev); + int (*disable_se)(struct nci_dev *ndev, u32 se_idx); int (*enable_se)(struct nci_dev *ndev, u32 se_idx); }; diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c index 6c36ec6e477c..bcb70a6b17cd 100644 --- a/net/nfc/nci/core.c +++ b/net/nfc/nci/core.c @@ -756,6 +756,11 @@ static int nci_enable_se(struct nfc_dev *nfc_dev, u32 se_idx) static int nci_disable_se(struct nfc_dev *nfc_dev, u32 se_idx) { + struct nci_dev *ndev = nfc_get_drvdata(nfc_dev); + + if (ndev->ops->disable_se) + return ndev->ops->disable_se(ndev, se_idx); + return 0; }