aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nfc
diff options
context:
space:
mode:
authorEric Lapuyade <eric.lapuyade@intel.com>2012-05-07 06:31:13 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-05-15 17:27:59 -0400
commit900994332675f84a9fbbb33ff089474614c7f2fe (patch)
tree6b9b6f7b50217a30e72848466865e521ee64d048 /drivers/nfc
parent536acc085c641ff8ba46c2c0e97b5e137cbc22d6 (diff)
NFC: Cache the core NFC active target pointer instead of its index
The NFC Core now caches the active nfc target pointer, thereby avoiding the need to lookup the target table for each invocation of a driver ops. Consequently, pn533, HCI and NCI now directly receive an nfc_target pointer instead of a target index. Cc: Ilan Elias <ilane@ti.com> Signed-off-by: Eric Lapuyade <eric.lapuyade@intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/nfc')
-rw-r--r--drivers/nfc/pn533.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/nfc/pn533.c b/drivers/nfc/pn533.c
index e6ec16d92e65..766e0bb5ae53 100644
--- a/drivers/nfc/pn533.c
+++ b/drivers/nfc/pn533.c
@@ -1194,8 +1194,8 @@ static int pn533_activate_target_nfcdep(struct pn533 *dev)
1194 return rc; 1194 return rc;
1195} 1195}
1196 1196
1197static int pn533_activate_target(struct nfc_dev *nfc_dev, u32 target_idx, 1197static int pn533_activate_target(struct nfc_dev *nfc_dev,
1198 u32 protocol) 1198 struct nfc_target *target, u32 protocol)
1199{ 1199{
1200 struct pn533 *dev = nfc_get_drvdata(nfc_dev); 1200 struct pn533 *dev = nfc_get_drvdata(nfc_dev);
1201 int rc; 1201 int rc;
@@ -1243,7 +1243,8 @@ static int pn533_activate_target(struct nfc_dev *nfc_dev, u32 target_idx,
1243 return 0; 1243 return 0;
1244} 1244}
1245 1245
1246static void pn533_deactivate_target(struct nfc_dev *nfc_dev, u32 target_idx) 1246static void pn533_deactivate_target(struct nfc_dev *nfc_dev,
1247 struct nfc_target *target)
1247{ 1248{
1248 struct pn533 *dev = nfc_get_drvdata(nfc_dev); 1249 struct pn533 *dev = nfc_get_drvdata(nfc_dev);
1249 u8 tg; 1250 u8 tg;
@@ -1351,7 +1352,7 @@ static int pn533_in_dep_link_up_complete(struct pn533 *dev, void *arg,
1351 return 0; 1352 return 0;
1352} 1353}
1353 1354
1354static int pn533_dep_link_up(struct nfc_dev *nfc_dev, int target_idx, 1355static int pn533_dep_link_up(struct nfc_dev *nfc_dev, struct nfc_target *target,
1355 u8 comm_mode, u8* gb, size_t gb_len) 1356 u8 comm_mode, u8* gb, size_t gb_len)
1356{ 1357{
1357 struct pn533 *dev = nfc_get_drvdata(nfc_dev); 1358 struct pn533 *dev = nfc_get_drvdata(nfc_dev);
@@ -1552,10 +1553,9 @@ error:
1552 return 0; 1553 return 0;
1553} 1554}
1554 1555
1555static int pn533_data_exchange(struct nfc_dev *nfc_dev, u32 target_idx, 1556static int pn533_data_exchange(struct nfc_dev *nfc_dev,
1556 struct sk_buff *skb, 1557 struct nfc_target *target, struct sk_buff *skb,
1557 data_exchange_cb_t cb, 1558 data_exchange_cb_t cb, void *cb_context)
1558 void *cb_context)
1559{ 1559{
1560 struct pn533 *dev = nfc_get_drvdata(nfc_dev); 1560 struct pn533 *dev = nfc_get_drvdata(nfc_dev);
1561 struct pn533_frame *out_frame, *in_frame; 1561 struct pn533_frame *out_frame, *in_frame;