[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