diff options
author | Eyal Reizer <eyalr@ti.com> | 2012-06-27 11:11:39 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-06-27 11:52:49 +0200 |
commit | c40cb5a3425d7bb25c996f91a5ca64cd1dd32900 (patch) | |
tree | 7cc7166e921f30d4fa27a87740bd187d6f62251a /src/tag.c | |
parent | 9ed08d84769c343cf694c02cc67f320ea0fba001 (diff) | |
download | neard-c40cb5a3425d7bb25c996f91a5ca64cd1dd32900.tar.gz neard-c40cb5a3425d7bb25c996f91a5ca64cd1dd32900.tar.bz2 neard-c40cb5a3425d7bb25c996f91a5ca64cd1dd32900.zip |
tag: Add blank tag format support
* Add a new near_tag_driver op (format) used for formatting blank tags.
* In case an un-formatted tag is being written __near_tag_write()
first format the tag and if that succeeds it proceeds to writing
the data.
Diffstat (limited to 'src/tag.c')
-rw-r--r-- | src/tag.c | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -870,6 +870,7 @@ int __near_tag_write(struct near_tag *tag, near_tag_io_cb cb) { GSList *list; + int err; DBG("type 0x%x", tag->type); @@ -878,9 +879,20 @@ int __near_tag_write(struct near_tag *tag, DBG("driver type 0x%x", driver->type); - if (driver->type == tag->type) + if (driver->type == tag->type) { + if (tag->blank == TRUE && driver->format != NULL) { + DBG("Blank tag detected, formatting"); + err = driver->format(tag->adapter_idx, + tag->target_idx, NULL); + + if (err < 0) + return err; + + } + return driver->write(tag->adapter_idx, tag->target_idx, ndef, cb); + } } return 0; |