yaffs2: Yaffs endian support
[yaffs2.git] / yaffs_tagsmarshall.c
index 44a83b12ca4d07cfa84fbb86fc80961ff738bf5a..c2e2369bb24731e58fce8d1ccfa1300232854932 100644 (file)
@@ -9,6 +9,10 @@
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
+ *
+ * This file handles the marshalling (ie internal<-->external structure
+ * translation between the internal tags and the stored tags in Yaffs2-style
+ * tags storage.
  */
 
 #include "yaffs_guts.h"
@@ -43,9 +47,9 @@ static int yaffs_tags_marshall_write(struct yaffs_dev *dev,
                    (struct yaffs_packed_tags2_tags_only *)(data +
                                                        dev->
                                                        data_bytes_per_chunk);
-               yaffs_pack_tags2_tags_only(pt2tp, tags);
+               yaffs_pack_tags2_tags_only(dev, pt2tp, tags);
        } else {
-               yaffs_pack_tags2(&pt, tags, !dev->param.no_tags_ecc);
+               yaffs_pack_tags2(dev, &pt, tags, !dev->param.no_tags_ecc);
        }
 
        retval = dev->drv.drv_write_chunk_fn(dev, nand_chunk,
@@ -103,11 +107,11 @@ static int yaffs_tags_marshall_read(struct yaffs_dev *dev,
                        pt2tp =
                                (struct yaffs_packed_tags2_tags_only *)
                                &data[dev->data_bytes_per_chunk];
-                       yaffs_unpack_tags2_tags_only(tags, pt2tp);
+                       yaffs_unpack_tags2_tags_only(dev, tags, pt2tp);
                }
        } else if (tags) {
                memcpy(packed_tags_ptr, spare_buffer, packed_tags_size);
-               yaffs_unpack_tags2(tags, &pt, !dev->param.no_tags_ecc);
+               yaffs_unpack_tags2(dev, tags, &pt, !dev->param.no_tags_ecc);
        }
 
        if (local_data)