[PATCH] CORE: adding mtd_get_partition_physaddr()

Jared Hulbert jaredeh at gmail.com
Tue Aug 29 00:44:11 EDT 2006


This is to allow axfs to get the physical address on the flash of it's
partition.

Signed-off-by: Jared Hulbert <jaredeh at gmail.com>

diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
index 06a9303..37aed8a 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -40,6 +40,17 @@ struct mtd_part {
  */
 #define PART(x)  ((struct mtd_part *)(x))

+/*
+ * Allow other modules to get the physical address of a given partition
+ */
+void * mtd_get_partition_physaddr (struct mtd_info *mtd)
+{
+	struct mtd_part *part = PART(mtd);
+	struct map_info *map = part->master->priv;
+
+	return (void *)(map->phys + part->offset);
+}
+EXPORT_SYMBOL_GPL(mtd_get_partition_physaddr);

 /*
  * MTD methods which simply translate the effective address and pass through
diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
index da6b3d6..adf6207 100644
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
@@ -68,6 +68,7 @@ extern int register_mtd_parser(struct mt
 extern int deregister_mtd_parser(struct mtd_part_parser *parser);
 extern int parse_mtd_partitions(struct mtd_info *master, const char **types,
 				struct mtd_partition **pparts, unsigned long origin);
+extern void * mtd_get_partition_physaddr(struct mtd_info *mtd);

 #define put_partition_parser(p) do { module_put((p)->owner); } while(0)




More information about the linux-mtd mailing list