use fixed SRCREV 1e99787f3387d3dd1e6167af73597674bf8fe37d.
[vuplus_openvuplus_3.0] / meta-bsp / common / recipes / linux / linux-vuplus-3.3.8 / brcm_mtd_mac.patch
1 diff --git a/arch/mips/brcmstb/prom.c b/arch/mips/brcmstb/prom.c
2 index c575425..b9dfff2 100644
3 --- a/arch/mips/brcmstb/prom.c
4 +++ b/arch/mips/brcmstb/prom.c
5 @@ -224,6 +224,8 @@ static void __init __maybe_unused cfe_read_configuration(void)
6         FETCH("LINUX_FFS_SIZE", parse_hex, &brcm_mtd_rootfs_len);
7         FETCH("LINUX_PART_STARTAD", parse_hex, &brcm_mtd_kernel_start);
8         FETCH("LINUX_PART_SIZE", parse_hex, &brcm_mtd_kernel_len);
9 +       FETCH("LINUX_MACADDR_STARTAD", parse_hex, &brcm_mtd_macaddr_start);
10 +       FETCH("LINUX_MACADDR_SIZE", parse_hex, &brcm_mtd_macaddr_len);
11         FETCH("OCAP_PART_STARTAD", parse_hex, &brcm_mtd_ocap_start);
12         FETCH("OCAP_PART_SIZE", parse_hex, &brcm_mtd_ocap_len);
13         FETCH("FLASH_SIZE", parse_ulong, &brcm_mtd_flash_size_mb);
14 diff --git a/drivers/brcmstb/board.c b/drivers/brcmstb/board.c
15 index 4a823ef..7ae6cd2 100644
16 --- a/drivers/brcmstb/board.c
17 +++ b/drivers/brcmstb/board.c
18 @@ -34,6 +34,8 @@ unsigned long brcm_mtd_rootfs_start;
19  unsigned long brcm_mtd_rootfs_len;
20  unsigned long brcm_mtd_kernel_start;
21  unsigned long brcm_mtd_kernel_len;
22 +unsigned long brcm_mtd_macaddr_start;
23 +unsigned long brcm_mtd_macaddr_len;
24  unsigned long brcm_mtd_ocap_start;
25  unsigned long brcm_mtd_ocap_len;
26  unsigned long brcm_mtd_flash_size_mb;
27 @@ -535,6 +537,9 @@ int __init board_get_partition_map(struct mtd_partition **p)
28         nr_parts = 2;
29         if (brcm_mtd_kernel_len != 0)
30                 nr_parts++;
31 +       if (brcm_mtd_macaddr_len != 0)
32 +               nr_parts++;
33 +
34  
35         ret = kzalloc(nr_parts * sizeof(struct mtd_partition), GFP_KERNEL);
36         if (!ret)
37 @@ -544,15 +549,21 @@ int __init board_get_partition_map(struct mtd_partition **p)
38         ret[0].size = brcm_mtd_rootfs_len;
39         ret[0].name = "rootfs";
40  
41 -       ret[1].offset = 0;
42 -       ret[1].size = MTDPART_SIZ_FULL;
43 -       ret[1].name = "entire_device";
44 +        ret[1].offset = brcm_mtd_rootfs_start;
45 +        ret[1].size = brcm_mtd_rootfs_len;
46 +        ret[1].name = "rootfs(redundant)";
47  
48         if (brcm_mtd_kernel_len != 0) {
49                 ret[2].offset = brcm_mtd_kernel_start;
50                 ret[2].size = brcm_mtd_kernel_len;
51                 ret[2].name = "kernel";
52         }
53 +        if (brcm_mtd_macaddr_len != 0) {
54 +                ret[3].offset = brcm_mtd_macaddr_start;
55 +                ret[3].size = brcm_mtd_macaddr_len;
56 +                ret[3].name = "mac";
57 +        }
58 +
59  
60         *p = ret;
61         return nr_parts;
62 diff --git a/include/linux/brcmstb/brcmstb.h b/include/linux/brcmstb/brcmstb.h
63 index 9885e59..62b5515 100644
64 --- a/include/linux/brcmstb/brcmstb.h
65 +++ b/include/linux/brcmstb/brcmstb.h
66 @@ -733,6 +733,8 @@ extern unsigned long brcm_mtd_rootfs_start;
67  extern unsigned long brcm_mtd_rootfs_len;
68  extern unsigned long brcm_mtd_kernel_start;
69  extern unsigned long brcm_mtd_kernel_len;
70 +extern unsigned long brcm_mtd_macaddr_start;
71 +extern unsigned long brcm_mtd_macaddr_len;
72  extern unsigned long brcm_mtd_ocap_start;
73  extern unsigned long brcm_mtd_ocap_len;
74  extern unsigned long brcm_mtd_flash_size_mb;