Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
===================================================================
--- linux-2.6.21.7.orig/drivers/mtd/devices/at91_dataflash.c
+++ linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
@@ -173,7 +173,7 @@ static struct mtd_partition static_parti
 };
 #endif
 
-static const char *part_probes[] = { "cmdlinepart", NULL, };
+static const char *part_probes[] = { "cmdlinepart", "at91part", NULL, };
 
 #endif
 
Index: linux-2.6.21.7/drivers/mtd/Kconfig
===================================================================
--- linux-2.6.21.7.orig/drivers/mtd/Kconfig
+++ linux-2.6.21.7/drivers/mtd/Kconfig
@@ -162,6 +162,12 @@ config MTD_AFS_PARTS
 	  for your particular device. It won't happen automatically. The
 	  'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example.
 
+config MTD_AT91_PARTS
+ tristate "Atmel AT91 partitioning support"
+ depends on MTD_PARTITIONS && ARCH_AT91RM9200 && AT91_SPI
+ ---help---
+   Atmel AT91 partitioning support
+
 comment "User Modules And Translation Layers"
 	depends on MTD
 
Index: linux-2.6.21.7/drivers/mtd/Makefile
===================================================================
--- linux-2.6.21.7.orig/drivers/mtd/Makefile
+++ linux-2.6.21.7/drivers/mtd/Makefile
@@ -12,6 +12,7 @@ obj-$(CONFIG_MTD_CONCAT)	+= mtdconcat.o
 obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
 obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
 obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o
+obj-$(CONFIG_MTD_AT91_PARTS) += at91part.o
 
 # 'Users' - code which presents functionality to userspace.
 obj-$(CONFIG_MTD_CHAR)		+= mtdchar.o