X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fmtd%2Fphysmap.h;fp=include%2Flinux%2Fmtd%2Fphysmap.h;h=c7b8bcdef013bfd6629a62cf8899ac5153305a82;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=86831e3594f67f7cdf15f6d4570b69c7b6f7caa4;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/include/linux/mtd/physmap.h b/include/linux/mtd/physmap.h index 86831e359..c7b8bcdef 100644 --- a/include/linux/mtd/physmap.h +++ b/include/linux/mtd/physmap.h @@ -15,26 +15,33 @@ */ #ifndef __LINUX_MTD_PHYSMAP__ -#define __LINUX_MTD_PHYSMAP__ + +#include + +#if defined(CONFIG_MTD_PHYSMAP) #include #include #include -struct physmap_flash_data { - unsigned int width; - void (*set_vpp)(struct map_info *, int); - unsigned int nr_parts; - struct mtd_partition *parts; -}; +/* + * The map_info for physmap. Board can override size, buswidth, phys, + * (*set_vpp)(), etc in their initial setup routine. + */ +extern struct map_info physmap_map; /* * Board needs to specify the exact mapping during their setup time. */ -void physmap_configure(unsigned long addr, unsigned long size, - int bankwidth, void (*set_vpp)(struct map_info *, int) ); +static inline void physmap_configure(unsigned long addr, unsigned long size, int bankwidth, void (*set_vpp)(struct map_info *, int) ) +{ + physmap_map.phys = addr; + physmap_map.size = size; + physmap_map.bankwidth = bankwidth; + physmap_map.set_vpp = set_vpp; +} -#ifdef CONFIG_MTD_PARTITIONS +#if defined(CONFIG_MTD_PARTITIONS) /* * Machines that wish to do flash partition may want to call this function in @@ -48,5 +55,7 @@ void physmap_configure(unsigned long addr, unsigned long size, void physmap_set_partitions(struct mtd_partition *parts, int num_parts); #endif /* defined(CONFIG_MTD_PARTITIONS) */ +#endif /* defined(CONFIG_MTD) */ #endif /* __LINUX_MTD_PHYSMAP__ */ +