From 652b1d16295ec3b2593bf999425c37176a8b3aca Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Thu, 10 Jul 2008 18:38:33 +0300 Subject: [PATCH] --- yaml --- r: 106066 b: refs/heads/master c: a5bf6190417cbbf80443a9f71c65b653e13e9982 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/mtd/ubi/kapi.c | 24 ++++++++++++++++++++++++ trunk/include/linux/mtd/ubi.h | 1 + 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 617e8416308b..0e8af9e47e53 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 73789a3d9fd8e500e121c1d4a5a2b16dd748ab5f +refs/heads/master: a5bf6190417cbbf80443a9f71c65b653e13e9982 diff --git a/trunk/drivers/mtd/ubi/kapi.c b/trunk/drivers/mtd/ubi/kapi.c index 51508832566d..e65c8e0bcd5d 100644 --- a/trunk/drivers/mtd/ubi/kapi.c +++ b/trunk/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); diff --git a/trunk/include/linux/mtd/ubi.h b/trunk/include/linux/mtd/ubi.h index f71201d0f3e7..83302bbbddb4 100644 --- a/trunk/include/linux/mtd/ubi.h +++ b/trunk/include/linux/mtd/ubi.h @@ -152,6 +152,7 @@ int ubi_leb_erase(struct ubi_volume_desc *desc, int lnum); int ubi_leb_unmap(struct ubi_volume_desc *desc, int lnum); int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype); int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum); +int ubi_sync(int ubi_num); /* * This function is the same as the 'ubi_leb_read()' function, but it does not