[PATCH 5/6] of: partitions: pass struct cdev as argument

Sascha Hauer s.hauer at pengutronix.de
Mon Apr 22 03:27:22 EDT 2013

pass a struct cdev instead of the cdev name to of_parse_partitions.
This is available to the caller anyway and makes it easier to use
additional stuff from the cdev (like knowing whether it's a mtd

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
 drivers/of/partition.c | 9 ++++-----
 include/of.h           | 7 ++++---
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/of/partition.c b/drivers/of/partition.c
index 6a57a60..a78466b 100644
--- a/drivers/of/partition.c
+++ b/drivers/of/partition.c
@@ -22,8 +22,7 @@
 #include <malloc.h>
 #include <linux/mtd/mtd.h>
-int of_parse_partitions(const char *cdevname,
-				   struct device_node *node)
+int of_parse_partitions(struct cdev *cdev, struct device_node *node)
 	struct device_node *n;
 	const char *partname;
@@ -48,14 +47,14 @@ int of_parse_partitions(const char *cdevname,
 			partname = of_get_property(n, "name", &len);
 		name = (char *)partname;
-		debug("add partition: %s.%s 0x%08lx 0x%08lx\n", cdevname, partname, offset, size);
+		debug("add partition: %s.%s 0x%08lx 0x%08lx\n", cdev->name, partname, offset, size);
 		if (of_get_property(n, "read-only", &len))
-		filename = asprintf("%s.%s", cdevname, partname);
+		filename = asprintf("%s.%s", cdev->name, partname);
-		devfs_add_partition(cdevname, offset, size, flags, filename);
+		devfs_add_partition(cdev->name, offset, size, flags, filename);
diff --git a/include/of.h b/include/of.h
index 9349e6a..4dcf37e 100644
--- a/include/of.h
+++ b/include/of.h
@@ -170,9 +170,10 @@ struct device_node *of_create_node(struct device_node *root, const char *path);
 struct device_node *of_get_root_node(void);
 int of_set_root_node(struct device_node *);
+struct cdev;
-int of_parse_partitions(const char *cdevname,
-			    struct device_node *node);
+int of_parse_partitions(struct cdev *cdev, struct device_node *node);
 int of_alias_get_id(struct device_node *np, const char *stem);
 int of_device_is_stdout_path(struct device_d *dev);
@@ -180,7 +181,7 @@ const char *of_get_model(void);
 void *of_flatten_dtb(struct device_node *node);
 int of_add_memory(struct device_node *node, bool dump);
-static inline int of_parse_partitions(const char *cdevname,
+static inline int of_parse_partitions(struct cdev *cdev,
 					  struct device_node *node)
 	return -EINVAL;

More information about the barebox mailing list