summaryrefslogtreecommitdiff
path: root/target/linux/gemini/patches/100-mtd-physmap-try-static-partitions-first.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/gemini/patches/100-mtd-physmap-try-static-partitions-first.patch')
-rw-r--r--target/linux/gemini/patches/100-mtd-physmap-try-static-partitions-first.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/gemini/patches/100-mtd-physmap-try-static-partitions-first.patch b/target/linux/gemini/patches/100-mtd-physmap-try-static-partitions-first.patch
new file mode 100644
index 0000000..887dab0
--- /dev/null
+++ b/target/linux/gemini/patches/100-mtd-physmap-try-static-partitions-first.patch
@@ -0,0 +1,30 @@
+--- a/drivers/mtd/maps/physmap.c
++++ b/drivers/mtd/maps/physmap.c
+@@ -170,6 +170,13 @@ static int physmap_flash_probe(struct pl
+ goto err_out;
+
+ #ifdef CONFIG_MTD_PARTITIONS
++ if (physmap_data->nr_parts) {
++ printk(KERN_NOTICE "Using physmap partition information\n");
++ add_mtd_partitions(info->cmtd, physmap_data->parts,
++ physmap_data->nr_parts);
++ return 0;
++ }
++
+ err = parse_mtd_partitions(info->cmtd, part_probe_types,
+ &info->parts, 0);
+ if (err > 0) {
+@@ -177,13 +184,6 @@ static int physmap_flash_probe(struct pl
+ info->nr_parts = err;
+ return 0;
+ }
+-
+- if (physmap_data->nr_parts) {
+- printk(KERN_NOTICE "Using physmap partition information\n");
+- add_mtd_partitions(info->cmtd, physmap_data->parts,
+- physmap_data->nr_parts);
+- return 0;
+- }
+ #endif
+
+ add_mtd_device(info->cmtd);