diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-12-11 11:39:32 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-01-08 08:30:55 +0100 |
commit | ab96ba298b55e0b3eef1c18fc8be506071634cdf (patch) | |
tree | b9e44e108ef3295969e96c784a73516c431f26c5 | |
parent | 8a35fddf572578eea4846aa440d3caba31f3cc37 (diff) | |
download | barebox-ab96ba298b55e0b3eef1c18fc8be506071634cdf.tar.gz barebox-ab96ba298b55e0b3eef1c18fc8be506071634cdf.tar.xz |
partition: Create links with partition names
When a partition has a name create a link to the original partition
rather than registering a second cdev.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | common/partitions.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/common/partitions.c b/common/partitions.c index 4f50bfeff1..82ec508e64 100644 --- a/common/partitions.c +++ b/common/partitions.c @@ -71,20 +71,14 @@ static int register_one_partition(struct block_device *blk, if (!part->name[0]) return 0; - partition_name = asprintf("%s.%s", blk->cdev.name, part->name); - if (!partition_name) - return -ENOMEM; - - dev_dbg(blk->dev, "Registering partition %s on drive %s\n", - partition_name, blk->cdev.name); - cdev = devfs_add_partition(blk->cdev.name, - start, size, 0, partition_name); - - if (IS_ERR(cdev)) - dev_warn(blk->dev, "Registering partition %s on drive %s failed\n", - partition_name, blk->cdev.name); + partition_name = xasprintf("%s.%s", blk->cdev.name, part->name); + ret = devfs_create_link(cdev, partition_name); + if (ret) + dev_warn(blk->dev, "Failed to create link from %s to %s\n", + partition_name, blk->cdev.name); + free(partition_name); - ret = 0; + return 0; out: free(partition_name); return ret; |