Merge branch 'next'
[platform/kernel/u-boot.git] / drivers / mtd / mtdpart.c
index 9a3bf6f..f010f5e 100644 (file)
@@ -20,7 +20,7 @@
 #include <linux/mtd/compat.h>
 
 /* Our partition linked list */
-static LIST_HEAD(mtd_partitions);
+struct list_head mtd_partitions;
 
 /* Our partition node structure */
 struct mtd_part {
@@ -349,6 +349,14 @@ int add_mtd_partitions(struct mtd_info *master,
        u_int32_t cur_offset = 0;
        int i;
 
+       /*
+        * Need to init the list here, since LIST_INIT() does not
+        * work on platforms where relocation has problems (like MIPS
+        * & PPC).
+        */
+       if (mtd_partitions.next == NULL)
+               INIT_LIST_HEAD(&mtd_partitions);
+
        printk (KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);
 
        for (i = 0; i < nbparts; i++) {