summaryrefslogtreecommitdiffstats
path: root/common/partition.c
diff options
context:
space:
mode:
authorJuergen Beisert <jbe@isonoe.(none)>2007-10-19 11:58:33 +0200
committerJuergen Beisert <jbe@isonoe.(none)>2007-10-19 11:58:33 +0200
commit6ad2703e6e7779fd1d2d7295443d04cecaef56e8 (patch)
tree5780f4707616c154c4e698050485bf9a8c1d7981 /common/partition.c
parentc616179204072ba3dcf1e31aa2029fa6c2de3efe (diff)
parent95db50e812816127caf570449205a80cd626c263 (diff)
downloadbarebox-6ad2703e6e7779fd1d2d7295443d04cecaef56e8.tar.gz
barebox-6ad2703e6e7779fd1d2d7295443d04cecaef56e8.tar.xz
Merge branch 'master' of jbe@octopus:/home/git/projects/u-boot-v2
Diffstat (limited to 'common/partition.c')
-rw-r--r--common/partition.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/common/partition.c b/common/partition.c
index 20fef58842..69b269e34f 100644
--- a/common/partition.c
+++ b/common/partition.c
@@ -33,7 +33,8 @@
#include <partition.h>
#include <xfuncs.h>
-struct device_d *dev_add_partition(struct device_d *dev, unsigned long offset, size_t size, char *name)
+struct device_d *dev_add_partition(struct device_d *dev, unsigned long offset,
+ size_t size, int flags, const char *name)
{
struct partition *part;
@@ -50,8 +51,10 @@ struct device_d *dev_add_partition(struct device_d *dev, unsigned long offset, s
part->offset = offset;
part->physdev = dev;
+ part->flags = flags;
register_device(&part->device);
+ dev_add_child(dev, &part->device);
if (part->device.driver)
return &part->device;
@@ -107,15 +110,17 @@ static ssize_t part_write(struct device_d *dev, const void *buf, size_t count, u
{
struct partition *part = dev->type_data;
- if (part->readonly)
- return -EROFS;
+ if (part->flags & PARTITION_READONLY)
+ return -EROFS;
else
return dev_write(part->physdev, buf, count, offset + part->offset, flags);
}
static int part_probe(struct device_d *dev)
{
+#ifdef DEBUG
struct partition *part = dev->type_data;
+#endif
debug("registering partition %s on device %s (size=0x%08x, name=%s)\n",
dev->id, part->physdev->id, dev->size, part->name);