aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2014-01-06 15:58:17 -0500
committerSamuel Ortiz <sameo@linux.intel.com>2014-01-06 19:32:40 -0500
commit86e8586ed5beea15ce7c359f02a1084c2da93bc7 (patch)
treef971986461bb5059d0d5ff74234803bb742c9fe2
parent1907299867431fd899ae630a29b08b878ca1e50f (diff)
NFC: NCI: Add setup handler
Some drivers require special configuration while initializing. This patch adds setup handler for this custom configuration. 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>
-rw-r--r--include/net/nfc/nci_core.h1
-rw-r--r--net/nfc/nci/core.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/include/net/nfc/nci_core.h b/include/net/nfc/nci_core.h
index 6126f1f992b4..5c6fadd63483 100644
--- a/include/net/nfc/nci_core.h
+++ b/include/net/nfc/nci_core.h
@@ -68,6 +68,7 @@ struct nci_ops {
68 int (*open)(struct nci_dev *ndev); 68 int (*open)(struct nci_dev *ndev);
69 int (*close)(struct nci_dev *ndev); 69 int (*close)(struct nci_dev *ndev);
70 int (*send)(struct nci_dev *ndev, struct sk_buff *skb); 70 int (*send)(struct nci_dev *ndev, struct sk_buff *skb);
71 int (*setup)(struct nci_dev *ndev);
71}; 72};
72 73
73#define NCI_MAX_SUPPORTED_RF_INTERFACES 4 74#define NCI_MAX_SUPPORTED_RF_INTERFACES 4
diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c
index 6fbb7bab46e7..29c1caf3e975 100644
--- a/net/nfc/nci/core.c
+++ b/net/nfc/nci/core.c
@@ -301,6 +301,9 @@ static int nci_open_device(struct nci_dev *ndev)
301 rc = __nci_request(ndev, nci_reset_req, 0, 301 rc = __nci_request(ndev, nci_reset_req, 0,
302 msecs_to_jiffies(NCI_RESET_TIMEOUT)); 302 msecs_to_jiffies(NCI_RESET_TIMEOUT));
303 303
304 if (ndev->ops->setup(ndev))
305 ndev->ops->setup(ndev);
306
304 if (!rc) { 307 if (!rc) {
305 rc = __nci_request(ndev, nci_init_req, 0, 308 rc = __nci_request(ndev, nci_init_req, 0,
306 msecs_to_jiffies(NCI_INIT_TIMEOUT)); 309 msecs_to_jiffies(NCI_INIT_TIMEOUT));