ar71xx: run the wrt160nl parser only on the WRT160NL board

Also remove static mtd partition definitions.

SVN-Revision: 29412
owl
Gabor Juhos 2011-12-03 18:13:20 +00:00
parent c8acd6e013
commit 67a0b9aada
2 changed files with 4 additions and 57 deletions

View File

@ -8,9 +8,6 @@
* by the Free Software Foundation.
*/
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <asm/mach-ar71xx/ar71xx.h>
#include "machtype.h"
@ -36,44 +33,13 @@
#define WRT160NL_NVRAM_ADDR 0x1f7e0000
#define WRT160NL_NVRAM_SIZE 0x10000
#ifdef CONFIG_MTD_PARTITIONS
static struct mtd_partition wrt160nl_partitions[] = {
{
.name = "u-boot",
.offset = 0,
.size = 0x040000,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "kernel",
.offset = 0x040000,
.size = 0x0e0000,
}, {
.name = "filesytem",
.offset = 0x120000,
.size = 0x6c0000,
}, {
.name = "nvram",
.offset = 0x7e0000,
.size = 0x010000,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "ART",
.offset = 0x7f0000,
.size = 0x010000,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "firmware",
.offset = 0x040000,
.size = 0x7a0000,
}
static const char *wrt160nl_part_probes[] = {
"wrt160nl",
NULL,
};
#endif /* CONFIG_MTD_PARTITIONS */
static struct flash_platform_data wrt160nl_flash_data = {
#ifdef CONFIG_MTD_PARTITIONS
.parts = wrt160nl_partitions,
.nr_parts = ARRAY_SIZE(wrt160nl_partitions),
#endif
.part_probes = wrt160nl_part_probes,
};
static struct gpio_led wrt160nl_leds_gpio[] __initdata = {

View File

@ -1,22 +1,3 @@
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -991,6 +991,16 @@ static int __devinit m25p_probe(struct s
part_probes, &parts, 0);
}
#endif
+
+#ifdef CONFIG_MTD_WRT160NL_PARTS
+ if (nr_parts <= 0) {
+ static const char *part_probes[]
+ = { "wrt160nl", NULL, };
+
+ nr_parts = parse_mtd_partitions(&flash->mtd,
+ part_probes, &parts, 0);
+ }
+#endif
if (nr_parts <= 0 && data && data->parts) {
parts = data->parts;
nr_parts = data->nr_parts;
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -176,6 +176,12 @@ config MTD_AR7_PARTS