diff -Nur linux-3.2-rc3/drivers/mtd/maps//pxa2xx-flash.c linux-3.2-rc3_patched/drivers/mtd/maps//pxa2xx-flash.c
--- linux-3.2-rc3/drivers/mtd/maps//pxa2xx-flash.c	2011-11-24 05:20:28.000000000 +0100
+++ linux-3.2-rc3_patched/drivers/mtd/maps//pxa2xx-flash.c	2011-12-02 12:50:38.000000000 +0100
@@ -54,6 +54,7 @@
 	struct flash_platform_data *flash = pdev->dev.platform_data;
 	struct pxa2xx_flash_info *info;
 	struct resource *res;
+	struct mtd_part_parser_data	ppdata;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!res)
@@ -98,7 +99,10 @@
 	}
 	info->mtd->owner = THIS_MODULE;
 
-	mtd_device_parse_register(info->mtd, probes, 0, NULL, 0);
+	ppdata.of_node = pdev->dev.of_node;
+	mtd_device_parse_register(info->mtd, probes, &ppdata,
+			flash ? flash->parts : NULL,
+			flash ? flash->nr_parts : 0);
 
 	platform_set_drvdata(pdev, info);
 	return 0;
