Changeset 34988


Ignore:
Timestamp:
2013-01-03T02:53:30+01:00 (5 years ago)
Author:
hauke
Message:

brcm47xx: add a new version of the nvram rewrite patch

This is the version like it was send for mainline inclusion.

Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/switch/src/switch-adm.c

    r32992 r34988  
    3939 
    4040#ifdef CONFIG_BCM47XX 
    41 #include <nvram.h> 
     41#include <bcm47xx_nvram.h> 
    4242#endif 
    4343 
     
    9090        for (pin = 0; pin < 16; pin ++) { 
    9191                sprintf(name, "gpio%d", pin); 
    92                 if (nvram_getenv(name, val, sizeof(val)) >= 0) { 
     92                if (bcm47xx_nvram_getenv(name, val, sizeof(val)) >= 0) { 
    9393                        if (!strcmp(val, pin_name)) 
    9494                                return pin; 
     
    498498        int boardnum = 0; 
    499499                 
    500         if (nvram_getenv("boardflags", buf, sizeof(buf)) >= 0) 
     500        if (bcm47xx_nvram_getenv("boardflags", buf, sizeof(buf)) >= 0) 
    501501                boardflags = simple_strtoul(buf, NULL, 0); 
    502502 
    503         if (nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) 
     503        if (bcm47xx_nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) 
    504504                boardnum = simple_strtoul(buf, NULL, 0); 
    505505 
     
    520520                eerc = get_gpiopin("adm_rc", 0); 
    521521 
    522         } else if (nvram_getenv("boardtype", buf, sizeof(buf)) >= 0) { 
     522        } else if (bcm47xx_nvram_getenv("boardtype", buf, sizeof(buf)) >= 0) { 
    523523                if (strcmp(buf, "bcm94710dev") == 0) { 
    524                         if (nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) { 
     524                        if (bcm47xx_nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) { 
    525525                                if (strncmp(buf, "42", 2) == 0) { 
    526526                                        /* WRT54G v1.1 hack */ 
  • trunk/package/switch/src/switch-robo.c

    r33506 r34988  
    3636 
    3737#ifdef CONFIG_BCM47XX 
    38 #include <nvram.h> 
     38#include <bcm47xx_nvram.h> 
    3939#endif 
    4040 
     
    237237#ifdef CONFIG_BCM47XX 
    238238        /* WAN port LED, except for Netgear WGT634U */ 
    239         if (nvram_getenv("nvram_type", buf, sizeof(buf)) >= 0) { 
     239        if (bcm47xx_nvram_getenv("nvram_type", buf, sizeof(buf)) >= 0) { 
    240240                if (strcmp(buf, "cfe") != 0) 
    241241                        robo_write16(ROBO_CTRL_PAGE, 0x16, 0x1F); 
  • trunk/package/system/rtc-rv5c386a/src/rtc.c

    r34938 r34988  
    6363 
    6464#include <bcm47xx.h> 
    65 #include <nvram.h> 
     65#include <bcm47xx_nvram.h> 
    6666 
    6767#define RTC_IS_OPEN             0x01    /* Means /dev/rtc is in use.  */ 
     
    531531 
    532532        /* Based on "model_no".  */ 
    533         if (nvram_getenv("model_no", buf, sizeof(buf)) >= 0) { 
     533        if (bcm47xx_nvram_getenv("model_no", buf, sizeof(buf)) >= 0) { 
    534534                if (startswith(buf, "WL700")) { /* WL700* */ 
    535535                        sda_index = 2; 
     
    539539        } 
    540540 
    541         if (nvram_getenv("et0phyaddr", buf, sizeof(buf)) >= 0 ) 
     541        if (bcm47xx_nvram_getenv("et0phyaddr", buf, sizeof(buf)) >= 0 ) 
    542542                et0phyaddr = simple_strtoul(buf, NULL, 0); 
    543         if (nvram_getenv("et1phyaddr", buf, sizeof(buf)) >= 0 ) 
     543        if (bcm47xx_nvram_getenv("et1phyaddr", buf, sizeof(buf)) >= 0 ) 
    544544                et1phyaddr = simple_strtoul(buf, NULL, 0); 
    545545 
    546         if (nvram_getenv("hardware_version", buf, sizeof(buf)) >= 0) { 
     546        if (bcm47xx_nvram_getenv("hardware_version", buf, sizeof(buf)) >= 0) { 
    547547                /* Either WL-300g or WL-HDD, do more extensive checks */ 
    548548                if (startswith(buf, "WL300-") && et0phyaddr == 0 && et1phyaddr == 1) { 
  • trunk/target/linux/brcm47xx/patches-3.6/050-mtd-add-bcm47xx-part-parser.patch

    r34252 r34988  
    7777+#include <linux/crc32.h> 
    7878+#include <linux/io.h> 
    79 +#include <asm/mach-bcm47xx/nvram.h> 
    80 +#include <asm/mach-bcm47xx/bcm47xx.h> 
     79+#include <bcm47xx_nvram.h> 
     80+#include <bcm47xx.h> 
    8181+#include <asm/fw/cfe/cfe_api.h> 
    8282+ 
     
    379379+       u16 strev = 0; 
    380380+ 
    381 +       if (nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) 
     381+       if (bcm47xx_nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) 
    382382+               boardnum = simple_strtoul(buf, NULL, 0); 
    383 +       if (nvram_getenv("boardtype", buf, sizeof(buf)) >= 0) 
     383+       if (bcm47xx_nvram_getenv("boardtype", buf, sizeof(buf)) >= 0) 
    384384+               boardtype = simple_strtoul(buf, NULL, 0); 
    385 +       if (nvram_getenv("boardrev", buf, sizeof(buf)) >= 0) 
     385+       if (bcm47xx_nvram_getenv("boardrev", buf, sizeof(buf)) >= 0) 
    386386+               boardrev = simple_strtoul(buf, NULL, 0); 
    387 +       if (nvram_getenv("boardflags", buf, sizeof(buf)) >= 0) 
     387+       if (bcm47xx_nvram_getenv("boardflags", buf, sizeof(buf)) >= 0) 
    388388+               boardflags = simple_strtoul(buf, NULL, 0); 
    389 +       if (nvram_getenv("sdram_init", buf, sizeof(buf)) >= 0) 
     389+       if (bcm47xx_nvram_getenv("sdram_init", buf, sizeof(buf)) >= 0) 
    390390+               sdram_init = simple_strtoul(buf, NULL, 0); 
    391 +       if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
     391+       if (bcm47xx_nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
    392392+               cardbus = simple_strtoul(buf, NULL, 0); 
    393 +       if (nvram_getenv("st_rev", buf, sizeof(buf)) >= 0) 
     393+       if (bcm47xx_nvram_getenv("st_rev", buf, sizeof(buf)) >= 0) 
    394394+               strev = simple_strtoul(buf, NULL, 0); 
    395395+ 
  • trunk/target/linux/brcm47xx/patches-3.6/080-MIPS-BCM47XX-rewrite-nvram-probing.patch

    r33920 r34988  
    1010  * This program is free software; you can redistribute  it and/or modify it 
    1111  * under  the terms of  the GNU General  Public License as published by the 
    12 @@ -23,69 +23,139 @@ 
     12@@ -18,83 +18,166 @@ 
     13 #include <linux/kernel.h> 
     14 #include <linux/string.h> 
     15 #include <asm/addrspace.h> 
     16-#include <asm/mach-bcm47xx/nvram.h> 
     17+#include <bcm47xx_nvram.h> 
     18 #include <asm/mach-bcm47xx/bcm47xx.h> 
    1319  
    1420 static char nvram_buf[NVRAM_SPACE]; 
     
    3137 /* Probe for NVRAM header */ 
    3238-static void early_nvram_init(void) 
    33 +static void early_nvram_init_fill(u32 base, u32 lim) 
     39+static int nvram_find_and_copy(u32 base, u32 lim) 
    3440 { 
    3541-#ifdef CONFIG_BCM47XX_SSB 
     
    95101+       } 
    96102  
     103-       return; 
    97104+       pr_err("no nvram found\n"); 
    98         return; 
     105+       return -ENXIO; 
    99106  
    100107 found: 
     
    113120+       for (; i < header->len && i < NVRAM_SPACE && i < size; i += 4) 
    114121                *dst++ = le32_to_cpu(*src++); 
    115  } 
    116   
     122+       memset(dst, 0x0, NVRAM_SPACE - i); 
     123+ 
     124+       return 0; 
     125 } 
     126  
     127-int nvram_getenv(char *name, char *val, size_t val_len) 
     128+#ifdef CONFIG_BCM47XX_SSB 
     129+static int nvram_init_ssb(void) 
     130+{ 
     131+       struct ssb_mipscore *mcore = &bcm47xx_bus.ssb.mipscore; 
     132+       struct ssb_chipcommon *chipco = &bcm47xx_bus.ssb.chipco; 
     133+       u32 base; 
     134+       u32 lim; 
     135+ 
     136+       if (mcore->pflash.present) { 
     137+               base = mcore->pflash.window; 
     138+               lim = mcore->pflash.window_size; 
     139+#ifdef CONFIG_SSB_SFLASH 
     140+       } else if (chipco->sflash.present) { 
     141+               base = chipco->sflash.window; 
     142+               lim = chipco->sflash.size; 
     143+#endif 
     144+       } else { 
     145+               pr_err("Couldn't find supported flash memory\n"); 
     146+               return -ENXIO; 
     147+       } 
     148+ 
     149+       return nvram_find_and_copy(base, lim); 
     150+} 
     151+#endif 
     152+ 
    117153+#ifdef CONFIG_BCM47XX_BCMA 
    118 +static void early_nvram_init_bcma(void) 
     154+static int nvram_init_bcma(void) 
    119155+{ 
    120156+       struct bcma_drv_cc *cc = &bcm47xx_bus.bcma.bus.drv_cc; 
    121 +       u32 base = 0; 
    122 +       u32 lim = 0; 
    123 + 
     157+       u32 base; 
     158+       u32 lim; 
     159+ 
     160+#ifdef CONFIG_BCMA_NFLASH 
    124161+       if (cc->nflash.boot) { 
    125162+               base = BCMA_SOC_FLASH1; 
    126163+               lim = BCMA_SOC_FLASH1_SZ; 
    127 +       } else if (cc->pflash.present) { 
     164+       } else 
     165+#endif 
     166+       if (cc->pflash.present) { 
    128167+               base = cc->pflash.window; 
    129168+               lim = cc->pflash.window_size; 
     169+#ifdef CONFIG_BCMA_SFLASH 
    130170+       } else if (cc->sflash.present) { 
    131171+               base = cc->sflash.window; 
    132172+               lim = cc->sflash.size; 
     173+#endif 
    133174+       } else { 
    134 +               pr_err("No supported flash found\n"); 
    135 +               return; 
    136 +       } 
    137 + 
    138 +       early_nvram_init_fill(base, lim); 
     175+               pr_err("Couldn't find supported flash memory\n"); 
     176+               return -ENXIO; 
     177+       } 
     178+ 
     179+       return nvram_find_and_copy(base, lim); 
    139180+} 
    140181+#endif 
    141182+ 
    142 +#ifdef CONFIG_BCM47XX_SSB 
    143 +static void early_nvram_init_ssb(void) 
    144 +{ 
    145 +       struct ssb_mipscore *mcore = &bcm47xx_bus.ssb.mipscore; 
    146 +       struct ssb_chipcommon *chipco = &bcm47xx_bus.ssb.chipco; 
    147 +       u32 base = 0; 
    148 +       u32 lim = 0; 
    149 + 
    150 +       if (mcore->pflash.present) { 
    151 +               base = mcore->pflash.window; 
    152 +               lim = mcore->pflash.window_size; 
    153 +       } else if (chipco->sflash.present) { 
    154 +               base = chipco->sflash.window; 
    155 +               lim = chipco->sflash.size; 
    156 +       } else { 
    157 +               pr_err("No supported flash found\n"); 
    158 +               return; 
    159 +       } 
    160 + 
    161 +       early_nvram_init_fill(base, lim); 
    162 +} 
    163 +#endif 
    164 + 
    165 +static void early_nvram_init(void) 
     183+static int nvram_init(void) 
    166184+{ 
    167185+       switch (bcm47xx_bus_type) { 
    168186+#ifdef CONFIG_BCM47XX_SSB 
    169187+       case BCM47XX_BUS_TYPE_SSB: 
    170 +               early_nvram_init_ssb(); 
    171 +               break; 
     188+               return nvram_init_ssb(); 
    172189+#endif 
    173190+#ifdef CONFIG_BCM47XX_BCMA 
    174191+       case BCM47XX_BUS_TYPE_BCMA: 
    175 +               early_nvram_init_bcma(); 
    176 +               break; 
    177 +#endif 
    178 +       } 
     192+               return nvram_init_bcma(); 
     193+#endif 
     194+       } 
     195+       return -ENXIO; 
    179196+} 
    180197+ 
    181  int nvram_getenv(char *name, char *val, size_t val_len) 
     198+int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len) 
    182199 { 
    183200        char *var, *value, *end, *eq; 
     201+       int err; 
     202  
     203        if (!name) 
     204-               return NVRAM_ERR_INV_PARAM; 
     205+               return -EINVAL; 
     206  
     207-       if (!nvram_buf[0]) 
     208-               early_nvram_init(); 
     209+       if (!nvram_buf[0]) { 
     210+               err = nvram_init(); 
     211+               if (err) 
     212+                       return err; 
     213+       } 
     214  
     215        /* Look for name=value and return value */ 
     216        var = &nvram_buf[sizeof(struct nvram_header)]; 
     217@@ -110,6 +193,6 @@ int nvram_getenv(char *name, char *val, 
     218                        return snprintf(val, val_len, "%s", value); 
     219                } 
     220        } 
     221-       return NVRAM_ERR_ENVNOTFOUND; 
     222+       return -ENOENT; 
     223 } 
     224-EXPORT_SYMBOL(nvram_getenv); 
     225+EXPORT_SYMBOL(bcm47xx_nvram_getenv); 
     226--- a/arch/mips/bcm47xx/setup.c 
     227+++ b/arch/mips/bcm47xx/setup.c 
     228@@ -35,7 +35,7 @@ 
     229 #include <asm/reboot.h> 
     230 #include <asm/time.h> 
     231 #include <bcm47xx.h> 
     232-#include <asm/mach-bcm47xx/nvram.h> 
     233+#include <bcm47xx_nvram.h> 
     234  
     235 union bcm47xx_bus bcm47xx_bus; 
     236 EXPORT_SYMBOL(bcm47xx_bus); 
     237@@ -115,7 +115,7 @@ static int bcm47xx_get_invariants(struct 
     238        memset(&iv->sprom, 0, sizeof(struct ssb_sprom)); 
     239        bcm47xx_fill_sprom(&iv->sprom, NULL, false); 
     240  
     241-       if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
     242+       if (bcm47xx_nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
     243                iv->has_cardbus_slot = !!simple_strtoul(buf, NULL, 10); 
     244  
     245        return 0; 
     246@@ -138,7 +138,7 @@ static void __init bcm47xx_register_ssb( 
     247                panic("Failed to initialize SSB bus (err %d)", err); 
     248  
     249        mcore = &bcm47xx_bus.ssb.mipscore; 
     250-       if (nvram_getenv("kernel_args", buf, sizeof(buf)) >= 0) { 
     251+       if (bcm47xx_nvram_getenv("kernel_args", buf, sizeof(buf)) >= 0) { 
     252                if (strstr(buf, "console=ttyS1")) { 
     253                        struct ssb_serial_port port; 
     254  
     255--- a/arch/mips/bcm47xx/sprom.c 
     256+++ b/arch/mips/bcm47xx/sprom.c 
     257@@ -27,7 +27,7 @@ 
     258  */ 
     259  
     260 #include <bcm47xx.h> 
     261-#include <nvram.h> 
     262+#include <bcm47xx_nvram.h> 
     263  
     264 static void create_key(const char *prefix, const char *postfix, 
     265                       const char *name, char *buf, int len) 
     266@@ -50,10 +50,10 @@ static int get_nvram_var(const char *pre 
     267  
     268        create_key(prefix, postfix, name, key, sizeof(key)); 
     269  
     270-       err = nvram_getenv(key, buf, len); 
     271-       if (fallback && err == NVRAM_ERR_ENVNOTFOUND && prefix) { 
     272+       err = bcm47xx_nvram_getenv(key, buf, len); 
     273+       if (fallback && err == -ENOENT && prefix) { 
     274                create_key(NULL, postfix, name, key, sizeof(key)); 
     275-               err = nvram_getenv(key, buf, len); 
     276+               err = bcm47xx_nvram_getenv(key, buf, len); 
     277        } 
     278        return err; 
     279 } 
     280@@ -144,7 +144,7 @@ static void nvram_read_macaddr(const cha 
     281        if (err < 0) 
     282                return; 
     283  
     284-       nvram_parse_macaddr(buf, *val); 
     285+       bcm47xx_nvram_parse_macaddr(buf, *val); 
     286 } 
     287  
     288 static void nvram_read_alpha2(const char *prefix, const char *name, 
     289--- /dev/null 
     290+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h 
     291@@ -0,0 +1,51 @@ 
     292+/* 
     293+ *  Copyright (C) 2005, Broadcom Corporation 
     294+ *  Copyright (C) 2006, Felix Fietkau <nbd@openwrt.org> 
     295+ * 
     296+ *  This program is free software; you can redistribute  it and/or modify it 
     297+ *  under  the terms of  the GNU General  Public License as published by the 
     298+ *  Free Software Foundation;  either version 2 of the  License, or (at your 
     299+ *  option) any later version. 
     300+ */ 
     301+ 
     302+#ifndef __BCM47XX_NVRAM_H 
     303+#define __BCM47XX_NVRAM_H 
     304+ 
     305+#include <linux/types.h> 
     306+#include <linux/kernel.h> 
     307+ 
     308+struct nvram_header { 
     309+       u32 magic; 
     310+       u32 len; 
     311+       u32 crc_ver_init;       /* 0:7 crc, 8:15 ver, 16:31 sdram_init */ 
     312+       u32 config_refresh;     /* 0:15 sdram_config, 16:31 sdram_refresh */ 
     313+       u32 config_ncdl;        /* ncdl values for memc */ 
     314+}; 
     315+ 
     316+#define NVRAM_HEADER           0x48534C46      /* 'FLSH' */ 
     317+#define NVRAM_VERSION          1 
     318+#define NVRAM_HEADER_SIZE      20 
     319+#define NVRAM_SPACE            0x8000 
     320+ 
     321+#define FLASH_MIN              0x00020000      /* Minimum flash size */ 
     322+ 
     323+#define NVRAM_MAX_VALUE_LEN 255 
     324+#define NVRAM_MAX_PARAM_LEN 64 
     325+ 
     326+extern int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len); 
     327+ 
     328+static inline void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6]) 
     329+{ 
     330+       if (strchr(buf, ':')) 
     331+               sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0], 
     332+                       &macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4], 
     333+                       &macaddr[5]); 
     334+       else if (strchr(buf, '-')) 
     335+               sscanf(buf, "%hhx-%hhx-%hhx-%hhx-%hhx-%hhx", &macaddr[0], 
     336+                       &macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4], 
     337+                       &macaddr[5]); 
     338+       else 
     339+               printk(KERN_WARNING "Can not parse mac address: %s\n", buf); 
     340+} 
     341+ 
     342+#endif /* __BCM47XX_NVRAM_H */ 
     343--- a/arch/mips/include/asm/mach-bcm47xx/nvram.h 
     344+++ /dev/null 
     345@@ -1,54 +0,0 @@ 
     346-/* 
     347- *  Copyright (C) 2005, Broadcom Corporation 
     348- *  Copyright (C) 2006, Felix Fietkau <nbd@openwrt.org> 
     349- * 
     350- *  This program is free software; you can redistribute  it and/or modify it 
     351- *  under  the terms of  the GNU General  Public License as published by the 
     352- *  Free Software Foundation;  either version 2 of the  License, or (at your 
     353- *  option) any later version. 
     354- */ 
     355- 
     356-#ifndef __NVRAM_H 
     357-#define __NVRAM_H 
     358- 
     359-#include <linux/types.h> 
     360-#include <linux/kernel.h> 
     361- 
     362-struct nvram_header { 
     363-       u32 magic; 
     364-       u32 len; 
     365-       u32 crc_ver_init;       /* 0:7 crc, 8:15 ver, 16:31 sdram_init */ 
     366-       u32 config_refresh;     /* 0:15 sdram_config, 16:31 sdram_refresh */ 
     367-       u32 config_ncdl;        /* ncdl values for memc */ 
     368-}; 
     369- 
     370-#define NVRAM_HEADER           0x48534C46      /* 'FLSH' */ 
     371-#define NVRAM_VERSION          1 
     372-#define NVRAM_HEADER_SIZE      20 
     373-#define NVRAM_SPACE            0x8000 
     374- 
     375-#define FLASH_MIN              0x00020000      /* Minimum flash size */ 
     376- 
     377-#define NVRAM_MAX_VALUE_LEN 255 
     378-#define NVRAM_MAX_PARAM_LEN 64 
     379- 
     380-#define NVRAM_ERR_INV_PARAM    -8 
     381-#define NVRAM_ERR_ENVNOTFOUND  -9 
     382- 
     383-extern int nvram_getenv(char *name, char *val, size_t val_len); 
     384- 
     385-static inline void nvram_parse_macaddr(char *buf, u8 macaddr[6]) 
     386-{ 
     387-       if (strchr(buf, ':')) 
     388-               sscanf(buf, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &macaddr[0], 
     389-                       &macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4], 
     390-                       &macaddr[5]); 
     391-       else if (strchr(buf, '-')) 
     392-               sscanf(buf, "%hhx-%hhx-%hhx-%hhx-%hhx-%hhx", &macaddr[0], 
     393-                       &macaddr[1], &macaddr[2], &macaddr[3], &macaddr[4], 
     394-                       &macaddr[5]); 
     395-       else 
     396-               printk(KERN_WARNING "Can not parse mac address: %s\n", buf); 
     397-} 
     398- 
     399-#endif 
     400--- a/drivers/net/ethernet/broadcom/b44.c 
     401+++ b/drivers/net/ethernet/broadcom/b44.c 
     402@@ -381,7 +381,7 @@ static void b44_set_flow_ctrl(struct b44 
     403 } 
     404  
     405 #ifdef CONFIG_BCM47XX 
     406-#include <asm/mach-bcm47xx/nvram.h> 
     407+#include <bcm47xx_nvram.h> 
     408 static void b44_wap54g10_workaround(struct b44 *bp) 
     409 { 
     410        char buf[20]; 
     411@@ -393,7 +393,7 @@ static void b44_wap54g10_workaround(stru 
     412         * see https://dev.openwrt.org/ticket/146 
     413         * check and reset bit "isolate" 
     414         */ 
     415-       if (nvram_getenv("boardnum", buf, sizeof(buf)) < 0) 
     416+       if (bcm47xx_nvram_getenv("boardnum", buf, sizeof(buf)) < 0) 
     417                return; 
     418        if (simple_strtoul(buf, NULL, 0) == 2) { 
     419                err = __b44_readphy(bp, 0, MII_BMCR, &val); 
     420--- a/drivers/ssb/driver_chipcommon_pmu.c 
     421+++ b/drivers/ssb/driver_chipcommon_pmu.c 
     422@@ -14,7 +14,7 @@ 
     423 #include <linux/delay.h> 
     424 #include <linux/export.h> 
     425 #ifdef CONFIG_BCM47XX 
     426-#include <asm/mach-bcm47xx/nvram.h> 
     427+#include <bcm47xx_nvram.h> 
     428 #endif 
     429  
     430 #include "ssb_private.h" 
     431@@ -322,7 +322,7 @@ static void ssb_pmu_pll_init(struct ssb_ 
     432        if (bus->bustype == SSB_BUSTYPE_SSB) { 
     433 #ifdef CONFIG_BCM47XX 
     434                char buf[20]; 
     435-               if (nvram_getenv("xtalfreq", buf, sizeof(buf)) >= 0) 
     436+               if (bcm47xx_nvram_getenv("xtalfreq", buf, sizeof(buf)) >= 0) 
     437                        crystalfreq = simple_strtoul(buf, NULL, 0); 
     438 #endif 
     439        } 
     440--- a/include/linux/ssb/ssb_driver_gige.h 
     441+++ b/include/linux/ssb/ssb_driver_gige.h 
     442@@ -98,14 +98,14 @@ static inline bool ssb_gige_must_flush_p 
     443 } 
     444  
     445 #ifdef CONFIG_BCM47XX 
     446-#include <asm/mach-bcm47xx/nvram.h> 
     447+#include <bcm47xx_nvram.h> 
     448 /* Get the device MAC address */ 
     449 static inline void ssb_gige_get_macaddr(struct pci_dev *pdev, u8 *macaddr) 
     450 { 
     451        char buf[20]; 
     452-       if (nvram_getenv("et0macaddr", buf, sizeof(buf)) < 0) 
     453+       if (bcm47xx_nvram_getenv("et0macaddr", buf, sizeof(buf)) < 0) 
     454                return; 
     455-       nvram_parse_macaddr(buf, macaddr); 
     456+       bcm47xx_nvram_parse_macaddr(buf, macaddr); 
     457 } 
     458 #else 
     459 static inline void ssb_gige_get_macaddr(struct pci_dev *pdev, u8 *macaddr) 
  • trunk/target/linux/brcm47xx/patches-3.6/116-MIPS-BCM47xx-Remove-CFE-console.patch

    r34252 r34988  
    2727--- a/arch/mips/bcm47xx/prom.c 
    2828+++ b/arch/mips/bcm47xx/prom.c 
    29 @@ -31,96 +31,28 @@ 
     29@@ -33,96 +33,28 @@ 
    3030 #include <asm/fw/cfe/cfe_api.h> 
    3131 #include <asm/fw/cfe/cfe_error.h> 
     
    131131  
    132132 static __init void prom_init_mem(void) 
    133 @@ -161,8 +93,6 @@ static __init void prom_init_mem(void) 
     133@@ -173,8 +105,6 @@ static __init void prom_init_mem(void) 
    134134 void __init prom_init(void) 
    135135 { 
  • trunk/target/linux/brcm47xx/patches-3.6/210-b44_phy_fix.patch

    r34252 r34988  
    1616+       } else { 
    1717+               /* WL-HDD */ 
    18 +               if (nvram_getenv("hardware_version", buf, sizeof(buf)) >= 0 && 
     18+               if (bcm47xx_nvram_getenv("hardware_version", buf, sizeof(buf)) >= 0 && 
    1919+                   !strncmp(buf, "WL300-", strlen("WL300-"))) { 
    2020+                       if (sdev->bus->sprom.et0phyaddr == 0 && 
  • trunk/target/linux/brcm47xx/patches-3.6/400-arch-bcm47xx.patch

    r33920 r34988  
    11--- a/arch/mips/bcm47xx/nvram.c 
    22+++ b/arch/mips/bcm47xx/nvram.c 
    3 @@ -183,3 +183,30 @@ int nvram_getenv(char *name, char *val, 
    4         return NVRAM_ERR_ENVNOTFOUND; 
     3@@ -196,3 +196,30 @@ int bcm47xx_nvram_getenv(char *name, cha 
     4        return -ENOENT; 
    55 } 
    6  EXPORT_SYMBOL(nvram_getenv); 
     6 EXPORT_SYMBOL(bcm47xx_nvram_getenv); 
    77+ 
    88+char *nvram_get(const char *name) 
     
    1414+ 
    1515+       if (!nvram_buf[0]) 
    16 +               early_nvram_init(); 
     16+               nvram_init(); 
    1717+ 
    1818+       /* Look for name=value and return value */ 
  • trunk/target/linux/brcm47xx/patches-3.6/520-MIPS-BCM47XX-fix-time-for-WL520G-and-other-200-MHz-C.patch

    r34325 r34988  
    55 #include <asm/time.h> 
    66 #include <bcm47xx.h> 
    7 +#include <nvram.h> 
     7+#include <bcm47xx_nvram.h> 
    88  
    99 void __init plat_time_init(void) 
     
    3232  
    3333+       if (chip_id == 0x5354) { 
    34 +               len = nvram_getenv("clkfreq", buf, sizeof(buf)); 
     34+               len = bcm47xx_nvram_getenv("clkfreq", buf, sizeof(buf)); 
    3535+               if (len >= 0 && !strncmp(buf, "200", 4)) 
    3636+                       hz = 100000000; 
    37 +               len = nvram_getenv("hardware_version", buf, sizeof(buf)); 
     37+               len = bcm47xx_nvram_getenv("hardware_version", buf, sizeof(buf)); 
    3838+               if (len >= 0 && !strncmp(buf, "WL520G", 6)) 
    3939+                       hz = 100000000; 
  • trunk/target/linux/brcm47xx/patches-3.6/700-ssb-gigabit-ethernet-driver.patch

    r34402 r34988  
    407407  
    408408-#ifdef CONFIG_BCM47XX 
    409 -#include <asm/mach-bcm47xx/nvram.h> 
     409-#include <bcm47xx_nvram.h> 
    410410-/* Get the device MAC address */ 
    411411-static inline void ssb_gige_get_macaddr(struct pci_dev *pdev, u8 *macaddr) 
    412412-{ 
    413413-       char buf[20]; 
    414 -       if (nvram_getenv("et0macaddr", buf, sizeof(buf)) < 0) 
     414-       if (bcm47xx_nvram_getenv("et0macaddr", buf, sizeof(buf)) < 0) 
    415415-               return; 
    416 -       nvram_parse_macaddr(buf, macaddr); 
     416-       bcm47xx_nvram_parse_macaddr(buf, macaddr); 
    417417-} 
    418418-#else 
  • trunk/target/linux/brcm47xx/patches-3.6/820-wgt634u-nvram-fix.patch

    r34175 r34988  
    255255 static u32 find_nvram_size(u32 end) 
    256256 { 
    257 @@ -47,6 +49,26 @@ static void early_nvram_init_fill(u32 ba 
     257@@ -47,6 +49,26 @@ static int nvram_find_and_copy(u32 base, 
    258258        u32 *src, *dst; 
    259259        u32 size; 
     
    275275+                       } 
    276276+                       cfe_env = 1; 
    277 +                       return; 
     277+                       return 0; 
    278278+               } 
    279279+       } 
     
    282282        off = FLASH_MIN; 
    283283        while (off <= lim) { 
    284 @@ -166,6 +188,12 @@ int nvram_getenv(char *name, char *val, 
    285         if (!nvram_buf[0]) 
    286                 early_nvram_init(); 
     284@@ -179,6 +201,12 @@ int bcm47xx_nvram_getenv(char *name, cha 
     285                        return err; 
     286        } 
    287287  
    288288+       if (cfe_env) { 
     
    295295        var = &nvram_buf[sizeof(struct nvram_header)]; 
    296296        end = nvram_buf + sizeof(nvram_buf) - 2; 
    297 @@ -194,6 +222,9 @@ char *nvram_get(const char *name) 
     297@@ -207,6 +235,9 @@ char *nvram_get(const char *name) 
    298298        if (!nvram_buf[0]) 
    299                 early_nvram_init(); 
     299                nvram_init(); 
    300300  
    301301+       if (cfe_env) 
  • trunk/target/linux/brcm47xx/patches-3.6/980-wnr834b_no_cardbus_invariant.patch

    r33920 r34988  
    22+++ b/arch/mips/bcm47xx/setup.c 
    33@@ -120,6 +120,10 @@ static int bcm47xx_get_invariants(struct 
    4         if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
     4        if (bcm47xx_nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
    55                iv->has_cardbus_slot = !!simple_strtoul(buf, NULL, 10); 
    66  
  • trunk/target/linux/brcm47xx/patches-3.6/999-wl_exports.patch

    r33920 r34988  
    22+++ b/arch/mips/bcm47xx/nvram.c 
    33@@ -21,7 +21,8 @@ 
    4  #include <asm/mach-bcm47xx/nvram.h> 
     4 #include <bcm47xx_nvram.h> 
    55 #include <asm/mach-bcm47xx/bcm47xx.h> 
    66  
Note: See TracChangeset for help on using the changeset viewer.