diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-05-24 12:54:54 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-15 11:15:47 +0200 |
commit | 121c3d6e9c2fb4649f3349edc522c99f3b9585d9 (patch) | |
tree | 61deccc69452fe6338c231118df5c1f8a4440aa5 /fs | |
parent | 98df44ee7d6db3919a4dd11e227d1e0caedbfe86 (diff) | |
download | barebox-121c3d6e9c2fb4649f3349edc522c99f3b9585d9.tar.gz barebox-121c3d6e9c2fb4649f3349edc522c99f3b9585d9.tar.xz |
devfs: let devfs_add_partition return the new partition
Useful for unregistering later or for adding addional flags.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/devfs-core.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/devfs-core.c b/fs/devfs-core.c index 262e0a2c34..a16866eab9 100644 --- a/fs/devfs-core.c +++ b/fs/devfs-core.c @@ -226,21 +226,21 @@ int devfs_remove(struct cdev *cdev) return 0; } -int devfs_add_partition(const char *devname, loff_t offset, loff_t size, +struct cdev *devfs_add_partition(const char *devname, loff_t offset, loff_t size, int flags, const char *name) { struct cdev *cdev, *new; cdev = cdev_by_name(name); if (cdev) - return -EEXIST; + return ERR_PTR(-EEXIST); cdev = cdev_by_name(devname); if (!cdev) - return -ENOENT; + return ERR_PTR(-ENOENT); if (offset + size > cdev->size) - return -EINVAL; + return ERR_PTR(-EINVAL); new = xzalloc(sizeof (*new)); new->name = strdup(name); @@ -257,14 +257,14 @@ int devfs_add_partition(const char *devname, loff_t offset, loff_t size, if (IS_ERR(new->mtd)) { int ret = PTR_ERR(new->mtd); free(new); - return ret; + return ERR_PTR(ret); } } #endif devfs_create(new); - return 0; + return new; } int devfs_del_partition(const char *name) |