2012-03-23 11:13:20

by Eric Lapuyade

[permalink] [raw]
Subject: [PATCH] NFC: Changed target activated state logic

As we need to maintain the currently activated target idx, use this variable instead of the redundant remote_activated bool.

Signed-off-by: Eric Lapuyade <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
---
include/net/nfc/nfc.h | 3 ++-
net/nfc/core.c | 8 +++++---
2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/include/net/nfc/nfc.h b/include/net/nfc/nfc.h
index f4f6950..7273ff1 100644
--- a/include/net/nfc/nfc.h
+++ b/include/net/nfc/nfc.h
@@ -66,6 +66,7 @@ struct nfc_ops {

#define NFC_TARGET_IDX_ANY -1
#define NFC_MAX_GT_LEN 48
+#define NFC_TARGET_IDX_NONE 0xffffffff

struct nfc_target {
u32 idx;
@@ -97,7 +98,7 @@ struct nfc_dev {
struct device dev;
bool dev_up;
bool polling;
- bool remote_activated;
+ u32 activated_target_idx;
bool dep_link_up;
u32 dep_rf_mode;
struct nfc_genl_data genl_data;
diff --git a/net/nfc/core.c b/net/nfc/core.c
index d3a2cfb..e9936d9 100644
--- a/net/nfc/core.c
+++ b/net/nfc/core.c
@@ -95,7 +95,7 @@ int nfc_dev_down(struct nfc_dev *dev)
goto error;
}

- if (dev->polling || dev->remote_activated) {
+ if (dev->polling || dev->activated_target_idx != NFC_TARGET_IDX_NONE) {
rc = -EBUSY;
goto error;
}
@@ -290,7 +290,7 @@ int nfc_activate_target(struct nfc_dev *dev, u32 target_idx, u32 protocol)

rc = dev->ops->activate_target(dev, target_idx, protocol);
if (!rc)
- dev->remote_activated = true;
+ dev->activated_target_idx = target_idx;

error:
device_unlock(&dev->dev);
@@ -318,7 +318,7 @@ int nfc_deactivate_target(struct nfc_dev *dev, u32 target_idx)
}

dev->ops->deactivate_target(dev, target_idx);
- dev->remote_activated = false;
+ dev->activated_target_idx = NFC_TARGET_IDX_NONE;

error:
device_unlock(&dev->dev);
@@ -587,6 +587,8 @@ struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops,
/* first generation must not be 0 */
dev->targets_generation = 1;

+ dev->activated_target_idx = NFC_TARGET_IDX_NONE;
+
return dev;
}
EXPORT_SYMBOL(nfc_allocate_device);
--
1.7.6.5



2012-03-23 11:23:41

by Samuel Ortiz

[permalink] [raw]
Subject: Re: [PATCH] NFC: Changed target activated state logic

Hi Eric,

On Fri, Mar 23, 2012 at 12:14:13PM +0100, Eric Lapuyade wrote:
> As we need to maintain the currently activated target idx, use this variable instead of the redundant remote_activated bool.
>
Applied to my nfc-next branch, thanks.

Cheers,
Samuel.

--
Intel Open Source Technology Centre
http://oss.intel.com/