From: Jan Luebbe <jlu@xxxxxxxxxxxxxx> This simplifies board code for partition setup by keeping track of the offset. Signed-off-by: Jan Luebbe <jlu@xxxxxxxxxxxxxx> [ukl: change return type analogous to how devfs_add_partition was changed in 121c3d6e9c2f (devfs: let devfs_add_partition return the new partition).] Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- fs/devfs-core.c | 9 +++++++++ include/driver.h | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/fs/devfs-core.c b/fs/devfs-core.c index 44f0169e6324..c10345b3bfed 100644 --- a/fs/devfs-core.c +++ b/fs/devfs-core.c @@ -303,6 +303,15 @@ struct cdev *devfs_add_partition(const char *devname, loff_t offset, loff_t size return new; } +struct cdev *devfs_append_partition(const char *devname, loff_t *offset, + loff_t size, int flags, const char *name) +{ + struct cdev *ret; + ret = devfs_add_partition(devname, *offset, size, flags, name); + *offset += size; + return ret; +} + int devfs_del_partition(const char *name) { struct cdev *cdev; diff --git a/include/driver.h b/include/driver.h index bbe789b51ead..9fa94ae78ab2 100644 --- a/include/driver.h +++ b/include/driver.h @@ -487,8 +487,10 @@ int cdev_erase(struct cdev *cdev, size_t count, loff_t offset); #define DEVFS_IS_PARTITION (1 << 2) #define DEVFS_IS_CHARACTER_DEV (1 << 3) -struct cdev *devfs_add_partition(const char *devname, loff_t offset, loff_t size, - int flags, const char *name); +struct cdev *devfs_add_partition(const char *devname, loff_t offset, + loff_t size, int flags, const char *name); +struct cdev *devfs_append_partition(const char *devname, loff_t *offset, + loff_t size, int flags, const char *name); int devfs_del_partition(const char *name); #define DRV_OF_COMPAT(compat) \ -- 1.8.5.3 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox