diff options
| author | Corentin Chary <corentincj@iksaif.net> | 2009-01-05 08:46:19 -0500 |
|---|---|---|
| committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-01-18 07:02:08 -0500 |
| commit | c3da23be1673be4e738aea235604b4e6cb259655 (patch) | |
| tree | 876a7f8625e2c733bd87f58f1980e9b40031f8a0 | |
| parent | 141e6ebd1b1759bd5cebf092b7216b6f1c7b4c4f (diff) | |
UBI: add ioctl for unmap operation
This patch adds ioctl for the LEB unmap operation (as a debugging
option so far).
[Re-named ioctl to make it look the same as the other one and made
some minor stylistic changes. Artem Bityutskiy.]
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
| -rw-r--r-- | drivers/mtd/ubi/cdev.c | 15 | ||||
| -rw-r--r-- | include/mtd/ubi-user.h | 3 |
2 files changed, 16 insertions, 2 deletions
diff --git a/drivers/mtd/ubi/cdev.c b/drivers/mtd/ubi/cdev.c index 055e3f563c13..fd7e0f923b38 100644 --- a/drivers/mtd/ubi/cdev.c +++ b/drivers/mtd/ubi/cdev.c | |||
| @@ -532,13 +532,26 @@ static int vol_cdev_ioctl(struct inode *inode, struct file *file, | |||
| 532 | err = ubi_leb_map(desc, req.lnum, req.dtype); | 532 | err = ubi_leb_map(desc, req.lnum, req.dtype); |
| 533 | break; | 533 | break; |
| 534 | } | 534 | } |
| 535 | |||
| 536 | /* Logical eraseblock un-map command */ | ||
| 537 | case UBI_IOCEBUNMAP: | ||
| 538 | { | ||
| 539 | int32_t lnum; | ||
| 540 | |||
| 541 | err = get_user(lnum, (__user int32_t *)argp); | ||
| 542 | if (err) { | ||
| 543 | err = -EFAULT; | ||
| 544 | break; | ||
| 545 | } | ||
| 546 | err = ubi_leb_unmap(desc, lnum); | ||
| 547 | break; | ||
| 548 | } | ||
| 535 | #endif | 549 | #endif |
| 536 | 550 | ||
| 537 | default: | 551 | default: |
| 538 | err = -ENOTTY; | 552 | err = -ENOTTY; |
| 539 | break; | 553 | break; |
| 540 | } | 554 | } |
| 541 | |||
| 542 | return err; | 555 | return err; |
| 543 | } | 556 | } |
| 544 | 557 | ||
diff --git a/include/mtd/ubi-user.h b/include/mtd/ubi-user.h index 758574039fca..ee2ea2e224af 100644 --- a/include/mtd/ubi-user.h +++ b/include/mtd/ubi-user.h | |||
| @@ -135,7 +135,8 @@ | |||
| 135 | #define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, int32_t) | 135 | #define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, int32_t) |
| 136 | /* Map an eraseblock, used for debugging, disabled by default */ | 136 | /* Map an eraseblock, used for debugging, disabled by default */ |
| 137 | #define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req) | 137 | #define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req) |
| 138 | 138 | /* Unmap an eraseblock, used for debugging, disabled by default */ | |
| 139 | #define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, int32_t) | ||
| 139 | 140 | ||
| 140 | /* Maximum MTD device name length supported by UBI */ | 141 | /* Maximum MTD device name length supported by UBI */ |
| 141 | #define MAX_UBI_MTD_NAME_LEN 127 | 142 | #define MAX_UBI_MTD_NAME_LEN 127 |
