+++ /dev/null
-diff --git a/arch/mips/brcmstb/prom.c b/arch/mips/brcmstb/prom.c
-index c575425..b9dfff2 100644
---- a/arch/mips/brcmstb/prom.c
-+++ b/arch/mips/brcmstb/prom.c
-@@ -224,6 +224,8 @@ static void __init __maybe_unused cfe_read_configuration(void)
- FETCH("LINUX_FFS_SIZE", parse_hex, &brcm_mtd_rootfs_len);
- FETCH("LINUX_PART_STARTAD", parse_hex, &brcm_mtd_kernel_start);
- FETCH("LINUX_PART_SIZE", parse_hex, &brcm_mtd_kernel_len);
-+ FETCH("LINUX_MACADDR_STARTAD", parse_hex, &brcm_mtd_macaddr_start);
-+ FETCH("LINUX_MACADDR_SIZE", parse_hex, &brcm_mtd_macaddr_len);
- FETCH("OCAP_PART_STARTAD", parse_hex, &brcm_mtd_ocap_start);
- FETCH("OCAP_PART_SIZE", parse_hex, &brcm_mtd_ocap_len);
- FETCH("FLASH_SIZE", parse_ulong, &brcm_mtd_flash_size_mb);
-diff --git a/drivers/brcmstb/board.c b/drivers/brcmstb/board.c
-index 4a823ef..7ae6cd2 100644
---- a/drivers/brcmstb/board.c
-+++ b/drivers/brcmstb/board.c
-@@ -34,6 +34,8 @@ unsigned long brcm_mtd_rootfs_start;
- unsigned long brcm_mtd_rootfs_len;
- unsigned long brcm_mtd_kernel_start;
- unsigned long brcm_mtd_kernel_len;
-+unsigned long brcm_mtd_macaddr_start;
-+unsigned long brcm_mtd_macaddr_len;
- unsigned long brcm_mtd_ocap_start;
- unsigned long brcm_mtd_ocap_len;
- unsigned long brcm_mtd_flash_size_mb;
-@@ -535,6 +537,9 @@ int __init board_get_partition_map(struct mtd_partition **p)
- nr_parts = 2;
- if (brcm_mtd_kernel_len != 0)
- nr_parts++;
-+ if (brcm_mtd_macaddr_len != 0)
-+ nr_parts++;
-+
-
- ret = kzalloc(nr_parts * sizeof(struct mtd_partition), GFP_KERNEL);
- if (!ret)
-@@ -544,15 +549,21 @@ int __init board_get_partition_map(struct mtd_partition **p)
- ret[0].size = brcm_mtd_rootfs_len;
- ret[0].name = "rootfs";
-
-- ret[1].offset = 0;
-- ret[1].size = MTDPART_SIZ_FULL;
-- ret[1].name = "entire_device";
-+ ret[1].offset = brcm_mtd_rootfs_start;
-+ ret[1].size = brcm_mtd_rootfs_len;
-+ ret[1].name = "rootfs(redundant)";
-
- if (brcm_mtd_kernel_len != 0) {
- ret[2].offset = brcm_mtd_kernel_start;
- ret[2].size = brcm_mtd_kernel_len;
- ret[2].name = "kernel";
- }
-+ if (brcm_mtd_macaddr_len != 0) {
-+ ret[3].offset = brcm_mtd_macaddr_start;
-+ ret[3].size = brcm_mtd_macaddr_len;
-+ ret[3].name = "mac";
-+ }
-+
-
- *p = ret;
- return nr_parts;
-diff --git a/include/linux/brcmstb/brcmstb.h b/include/linux/brcmstb/brcmstb.h
-index 9885e59..62b5515 100644
---- a/include/linux/brcmstb/brcmstb.h
-+++ b/include/linux/brcmstb/brcmstb.h
-@@ -733,6 +733,8 @@ extern unsigned long brcm_mtd_rootfs_start;
- extern unsigned long brcm_mtd_rootfs_len;
- extern unsigned long brcm_mtd_kernel_start;
- extern unsigned long brcm_mtd_kernel_len;
-+extern unsigned long brcm_mtd_macaddr_start;
-+extern unsigned long brcm_mtd_macaddr_len;
- extern unsigned long brcm_mtd_ocap_start;
- extern unsigned long brcm_mtd_ocap_len;
- extern unsigned long brcm_mtd_flash_size_mb;