Code wishing to manipulate ubi devices from outside the ubi layer needs the ubi_num as reference. Add an ioctl to get the ubi_num from a filedescriptor. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- drivers/mtd/ubi/barebox.c | 3 +++ include/mtd/ubi-user.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/drivers/mtd/ubi/barebox.c b/drivers/mtd/ubi/barebox.c index 13c2a47..cb9223e 100644 --- a/drivers/mtd/ubi/barebox.c +++ b/drivers/mtd/ubi/barebox.c @@ -299,6 +299,9 @@ static int ubi_cdev_ioctl(struct cdev *cdev, int cmd, void *buf) if (!req->bytes) req->bytes = (__s64)ubi->avail_pebs * ubi->leb_size; return ubi_create_volume(ubi, req); + case UBI_IOCGETUBINUM: + *(u32 *)buf = ubi->ubi_num; + break; }; return 0; diff --git a/include/mtd/ubi-user.h b/include/mtd/ubi-user.h index 8c02f96..9425533 100644 --- a/include/mtd/ubi-user.h +++ b/include/mtd/ubi-user.h @@ -161,6 +161,8 @@ /* Re-name volumes */ #define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req) +#define UBI_IOCGETUBINUM _IOR(UBI_IOC_MAGIC, 32, __u32) + /* ioctl commands of the UBI control character device */ #define UBI_CTRL_IOC_MAGIC 'o' -- 2.8.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox