{
}
+
-+static inline void b44_bcm47xx_workarounds(struct b44 *bp)
-+{
++static inline void b44_bcm47xx_workarounds(struct b44 *bp)
++{
+}
#endif
unsigned long addr, unsigned long pfn)
{
struct flush_cache_page_args args;
-@@ -1469,3 +1469,10 @@ void __cpuinit r4k_cache_init(void)
+@@ -1469,3 +1469,11 @@ void __cpuinit r4k_cache_init(void)
coherency_setup();
#endif
}
+
-+// fuse package DCACHE BUG patch exports
++/* fuse package DCACHE BUG patch exports */
+void (*fuse_flush_cache_all)(void) = r4k___flush_cache_all;
++EXPORT_SYMBOL(fuse_flush_cache_all);
++
+void (*fuse_flush_cache_page)(struct vm_area_struct *vma, unsigned long page,
-+ unsigned long pfn) = r4k_flush_cache_page;
++ unsigned long pfn) = r4k_flush_cache_page;
+EXPORT_SYMBOL(fuse_flush_cache_page);
-+EXPORT_SYMBOL(fuse_flush_cache_all);
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -92,3 +92,30 @@ int nvram_getenv(char *name, char *val,
- return 1;
+ return -9;
}
EXPORT_SYMBOL(nvram_getenv);
+
+EXPORT_SYMBOL(nvram_get);
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
-@@ -236,3 +236,20 @@ void __init plat_mem_setup(void)
+@@ -238,3 +238,20 @@ void __init plat_mem_setup(void)
_machine_halt = bcm47xx_machine_halt;
pm_power_off = bcm47xx_machine_halt;
}
+ if (tp->tg3_flags3 & TG3_FLG3_ROBOSWITCH) {
+ current_link_up = 1;
-+ current_speed = SPEED_1000; //FIXME
++ current_speed = SPEED_1000; /* FIXME */
+ current_duplex = DUPLEX_FULL;
+ tp->link_config.active_speed = current_speed;
+ tp->link_config.active_duplex = current_duplex;
--- a/arch/mips/include/asm/r4kcache.h
+++ b/arch/mips/include/asm/r4kcache.h
-@@ -20,10 +20,25 @@
+@@ -20,10 +20,28 @@
#ifdef CONFIG_BCM47XX
#include <asm/paccess.h>
#include <linux/ssb/ssb.h>
-#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
+#define BCM4710_DUMMY_RREG() bcm4710_dummy_rreg()
+
-+static inline unsigned long bcm4710_dummy_rreg(void) {
-+ return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE)));
++static inline unsigned long bcm4710_dummy_rreg(void)
++{
++ return *(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE));
+}
+
-+#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void*)(addr))
++#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void *)(addr))
+
-+static inline unsigned long bcm4710_fill_tlb(void *addr) {
-+ return (*(unsigned long *)addr);
++static inline unsigned long bcm4710_fill_tlb(void *addr)
++{
++ return *(unsigned long *)addr;
+}
+
-+#define BCM4710_PROTECTED_FILL_TLB(addr) bcm4710_protected_fill_tlb((void*)(addr))
++#define BCM4710_PROTECTED_FILL_TLB(addr) bcm4710_protected_fill_tlb((void *)(addr))
+
-+static inline void bcm4710_protected_fill_tlb(void *addr) {
++static inline void bcm4710_protected_fill_tlb(void *addr)
++{
+ unsigned long x;
+ get_dbe(x, (unsigned long *)addr);;
+}
+static ssize_t \
+attrib##_show(struct device *dev, struct device_attribute *attr, char *buf) \
+{ \
-+ return sprintf (buf, format_string, dev_to_ssb_dev(dev)->field); \
++ return sprintf(buf, format_string, dev_to_ssb_dev(dev)->field); \
+}
+
+ssb_config_attr(core_num, core_index, "%u\n")
+static ssize_t
+name_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
-+ return sprintf (buf, "%s\n", ssb_core_name(dev_to_ssb_dev(dev)->id.coreid));
++ return sprintf(buf, "%s\n", ssb_core_name(dev_to_ssb_dev(dev)->id.coreid));
+}
+
+static struct device_attribute ssb_device_attrs[] = {
{
}
+
-+static inline void b44_bcm47xx_workarounds(struct b44 *bp)
-+{
++static inline void b44_bcm47xx_workarounds(struct b44 *bp)
++{
+}
#endif
unsigned long addr, unsigned long pfn)
{
struct flush_cache_page_args args;
-@@ -1469,3 +1469,10 @@ void __cpuinit r4k_cache_init(void)
+@@ -1469,3 +1469,11 @@ void __cpuinit r4k_cache_init(void)
coherency_setup();
#endif
}
+
-+// fuse package DCACHE BUG patch exports
++/* fuse package DCACHE BUG patch exports */
+void (*fuse_flush_cache_all)(void) = r4k___flush_cache_all;
++EXPORT_SYMBOL(fuse_flush_cache_all);
++
+void (*fuse_flush_cache_page)(struct vm_area_struct *vma, unsigned long page,
-+ unsigned long pfn) = r4k_flush_cache_page;
++ unsigned long pfn) = r4k_flush_cache_page;
+EXPORT_SYMBOL(fuse_flush_cache_page);
-+EXPORT_SYMBOL(fuse_flush_cache_all);
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -92,3 +92,30 @@ int nvram_getenv(char *name, char *val,
- return 1;
+ return -1;
}
EXPORT_SYMBOL(nvram_getenv);
+
+ end = nvram_buf + sizeof(nvram_buf) - 2;
+ end[0] = end[1] = '\0';
+ for (; *var; var = value + strlen(value) + 1) {
-+ if (!(eq = strchr(var, '=')))
++ eq = strchr(var, '=');
++ if (!eq)
+ break;
+ value = eq + 1;
+ if ((eq - var) == strlen(name) && strncmp(var, name, (eq - var)) == 0)
+
+ return NULL;
+}
-+
+EXPORT_SYMBOL(nvram_get);
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
-@@ -236,3 +236,20 @@ void __init plat_mem_setup(void)
+@@ -238,3 +238,20 @@ void __init plat_mem_setup(void)
_machine_halt = bcm47xx_machine_halt;
pm_power_off = bcm47xx_machine_halt;
}
+ if (tp->tg3_flags3 & TG3_FLG3_ROBOSWITCH) {
+ current_link_up = 1;
-+ current_speed = SPEED_1000; //FIXME
++ current_speed = SPEED_1000; /* FIXME */
+ current_duplex = DUPLEX_FULL;
+ tp->link_config.active_speed = current_speed;
+ tp->link_config.active_duplex = current_duplex;
--- a/arch/mips/include/asm/r4kcache.h
+++ b/arch/mips/include/asm/r4kcache.h
-@@ -20,10 +20,25 @@
+@@ -20,10 +20,28 @@
#ifdef CONFIG_BCM47XX
#include <asm/paccess.h>
#include <linux/ssb/ssb.h>
-#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE)))
+#define BCM4710_DUMMY_RREG() bcm4710_dummy_rreg()
+
-+static inline unsigned long bcm4710_dummy_rreg(void) {
-+ return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE)));
++static inline unsigned long bcm4710_dummy_rreg(void)
++{
++ return *(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE));
+}
+
-+#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void*)(addr))
++#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void *)(addr))
+
-+static inline unsigned long bcm4710_fill_tlb(void *addr) {
-+ return (*(unsigned long *)addr);
++static inline unsigned long bcm4710_fill_tlb(void *addr)
++{
++ return *(unsigned long *)addr;
+}
+
-+#define BCM4710_PROTECTED_FILL_TLB(addr) bcm4710_protected_fill_tlb((void*)(addr))
++#define BCM4710_PROTECTED_FILL_TLB(addr) bcm4710_protected_fill_tlb((void *)(addr))
+
-+static inline void bcm4710_protected_fill_tlb(void *addr) {
++static inline void bcm4710_protected_fill_tlb(void *addr)
++{
+ unsigned long x;
+ get_dbe(x, (unsigned long *)addr);;
+}
+static ssize_t \
+attrib##_show(struct device *dev, struct device_attribute *attr, char *buf) \
+{ \
-+ return sprintf (buf, format_string, dev_to_ssb_dev(dev)->field); \
++ return sprintf(buf, format_string, dev_to_ssb_dev(dev)->field); \
+}
+
+ssb_config_attr(core_num, core_index, "%u\n")
+static ssize_t
+name_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
-+ return sprintf (buf, "%s\n", ssb_core_name(dev_to_ssb_dev(dev)->id.coreid));
++ return sprintf(buf, "%s\n", ssb_core_name(dev_to_ssb_dev(dev)->id.coreid));
+}
+
+static struct device_attribute ssb_device_attrs[] = {