diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2008-07-10 17:38:33 +0200 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2008-07-24 12:32:56 +0200 |
commit | a5bf6190417cbbf80443a9f71c65b653e13e9982 (patch) | |
tree | 341b656517b02efe8ee49446d4591625da69171a /drivers/mtd | |
parent | UBI: fix 64-bit calculations (diff) | |
download | linux-a5bf6190417cbbf80443a9f71c65b653e13e9982.tar.xz linux-a5bf6190417cbbf80443a9f71c65b653e13e9982.zip |
UBI: add ubi_sync() interface
To flush MTD device caches.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/ubi/kapi.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/mtd/ubi/kapi.c b/drivers/mtd/ubi/kapi.c index 51508832566d..e65c8e0bcd5d 100644 --- a/drivers/mtd/ubi/kapi.c +++ b/drivers/mtd/ubi/kapi.c @@ -632,3 +632,27 @@ int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum) return vol->eba_tbl[lnum] >= 0; } EXPORT_SYMBOL_GPL(ubi_is_mapped); + +/** + * ubi_sync - synchronize UBI device buffers. + * @ubi_num: UBI device to synchronize + * + * The underlying MTD device may cache data in hardware or in software. This + * function ensures the caches are flushed. Returns zero in case of success and + * a negative error code in case of failure. + */ +int ubi_sync(int ubi_num) +{ + struct ubi_device *ubi; + + ubi = ubi_get_device(ubi_num); + if (!ubi) + return -ENODEV; + + if (ubi->mtd->sync) + ubi->mtd->sync(ubi->mtd); + + ubi_put_device(ubi); + return 0; +} +EXPORT_SYMBOL_GPL(ubi_sync); |