diff options
author | Juergen Beisert <jbe@isonoe.(none)> | 2007-10-19 11:58:33 +0200 |
---|---|---|
committer | Juergen Beisert <jbe@isonoe.(none)> | 2007-10-19 11:58:33 +0200 |
commit | 6ad2703e6e7779fd1d2d7295443d04cecaef56e8 (patch) | |
tree | 5780f4707616c154c4e698050485bf9a8c1d7981 /common/partition.c | |
parent | c616179204072ba3dcf1e31aa2029fa6c2de3efe (diff) | |
parent | 95db50e812816127caf570449205a80cd626c263 (diff) | |
download | barebox-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.c | 11 |
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); |