-Index: linux-2.6.25.1/drivers/ssb/Kconfig
-===================================================================
---- linux-2.6.25.1.orig/drivers/ssb/Kconfig 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/drivers/ssb/Kconfig 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/ssb/Kconfig
++++ b/drivers/ssb/Kconfig
@@ -125,4 +125,13 @@ config SSB_DRIVER_EXTIF
If unsure, say N
+ If unsure, say N
+
endmenu
-Index: linux-2.6.25.1/drivers/ssb/Makefile
-===================================================================
---- linux-2.6.25.1.orig/drivers/ssb/Makefile 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/drivers/ssb/Makefile 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/ssb/Makefile
++++ b/drivers/ssb/Makefile
@@ -11,6 +11,7 @@ ssb-y += driver_chipcommon.o
ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o
ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o
# b43 pci-ssb-bridge driver
# Not strictly a part of SSB, but kept here for convenience
-Index: linux-2.6.25.1/drivers/ssb/driver_gige.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.1/drivers/ssb/driver_gige.c 2008-05-07 22:57:40.000000000 +0100
+--- /dev/null
++++ b/drivers/ssb/driver_gige.c
@@ -0,0 +1,294 @@
+/*
+ * Sonics Silicon Backplane
+{
+ return ssb_driver_register(&ssb_gige_driver);
+}
-Index: linux-2.6.25.1/include/linux/ssb/ssb_driver_gige.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.25.1/include/linux/ssb/ssb_driver_gige.h 2008-05-07 22:57:40.000000000 +0100
+--- /dev/null
++++ b/include/linux/ssb/ssb_driver_gige.h
@@ -0,0 +1,174 @@
+#ifndef LINUX_SSB_DRIVER_GIGE_H_
+#define LINUX_SSB_DRIVER_GIGE_H_
+
+#endif /* CONFIG_SSB_DRIVER_GIGE */
+#endif /* LINUX_SSB_DRIVER_GIGE_H_ */
-Index: linux-2.6.25.1/drivers/ssb/driver_pcicore.c
-===================================================================
---- linux-2.6.25.1.orig/drivers/ssb/driver_pcicore.c 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/drivers/ssb/driver_pcicore.c 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/ssb/driver_pcicore.c
++++ b/drivers/ssb/driver_pcicore.c
@@ -60,78 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock);
/* Core to access the external PCI config space. Can only have one. */
static struct ssb_pcicore *extpci_core;
static void ssb_pcicore_init_hostmode(struct ssb_pcicore *pc)
{
u32 val;
-Index: linux-2.6.25.1/drivers/ssb/embedded.c
-===================================================================
---- linux-2.6.25.1.orig/drivers/ssb/embedded.c 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/drivers/ssb/embedded.c 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/ssb/embedded.c
++++ b/drivers/ssb/embedded.c
@@ -10,6 +10,9 @@
#include <linux/ssb/ssb.h>
+
+ return -ENODEV;
+}
-Index: linux-2.6.25.1/include/linux/ssb/ssb.h
-===================================================================
---- linux-2.6.25.1.orig/include/linux/ssb/ssb.h 2008-05-07 22:45:33.000000000 +0100
-+++ linux-2.6.25.1/include/linux/ssb/ssb.h 2008-05-07 22:57:40.000000000 +0100
+--- a/include/linux/ssb/ssb.h
++++ b/include/linux/ssb/ssb.h
@@ -426,5 +426,12 @@ extern int ssb_bus_powerup(struct ssb_bu
extern u32 ssb_admatch_base(u32 adm);
extern u32 ssb_admatch_size(u32 adm);
+#endif /* CONFIG_SSB_EMBEDDED */
#endif /* LINUX_SSB_H_ */
-Index: linux-2.6.25.1/include/linux/ssb/ssb_driver_pci.h
-===================================================================
---- linux-2.6.25.1.orig/include/linux/ssb/ssb_driver_pci.h 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/include/linux/ssb/ssb_driver_pci.h 2008-05-07 22:57:40.000000000 +0100
+--- a/include/linux/ssb/ssb_driver_pci.h
++++ b/include/linux/ssb/ssb_driver_pci.h
@@ -1,6 +1,11 @@
#ifndef LINUX_SSB_PCICORE_H_
#define LINUX_SSB_PCICORE_H_
+
#endif /* CONFIG_SSB_DRIVER_PCICORE */
#endif /* LINUX_SSB_PCICORE_H_ */
-Index: linux-2.6.25.1/drivers/ssb/main.c
-===================================================================
---- linux-2.6.25.1.orig/drivers/ssb/main.c 2008-05-07 22:45:33.000000000 +0100
-+++ linux-2.6.25.1/drivers/ssb/main.c 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/ssb/main.c
++++ b/drivers/ssb/main.c
@@ -14,6 +14,7 @@
#include <linux/io.h>
#include <linux/ssb/ssb.h>
b43_pci_ssb_bridge_exit();
bus_unregister(&ssb_bustype);
}
-Index: linux-2.6.25.1/drivers/ssb/ssb_private.h
-===================================================================
---- linux-2.6.25.1.orig/drivers/ssb/ssb_private.h 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/drivers/ssb/ssb_private.h 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/ssb/ssb_private.h
++++ b/drivers/ssb/ssb_private.h
@@ -118,6 +118,8 @@ extern u32 ssb_calc_clock_rate(u32 pllty
extern int ssb_devices_freeze(struct ssb_bus *bus);
extern int ssb_devices_thaw(struct ssb_bus *bus);
/* b43_pci_bridge.c */
#ifdef CONFIG_SSB_B43_PCI_BRIDGE
-Index: linux-2.6.25.1/drivers/net/tg3.c
-===================================================================
---- linux-2.6.25.1.orig/drivers/net/tg3.c 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/drivers/net/tg3.c 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/net/tg3.c
++++ b/drivers/net/tg3.c
@@ -38,6 +38,7 @@
#include <linux/workqueue.h>
#include <linux/prefetch.h>
MI_COM_PHY_ADDR_MASK);
frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
MI_COM_REG_ADDR_MASK);
-@@ -810,6 +817,11 @@ static void tg3_phydsp_write(struct tg3
- tg3_writephy(tp, MII_TG3_DSP_RW_PORT, val);
+@@ -804,6 +811,11 @@ static int tg3_writephy(struct tg3 *tp,
+ return ret;
}
+static int tg3_writephy(struct tg3 *tp, int reg, u32 val)
+ return __tg3_writephy(tp, PHY_ADDR, reg, val);
+}
+
- static void tg3_phy_toggle_automdix(struct tg3 *tp, int enable)
+ static void tg3_phydsp_write(struct tg3 *tp, u32 reg, u32 val)
{
- u32 phy;
+ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
@@ -2250,6 +2262,14 @@ static int tg3_setup_copper_phy(struct t
}
}
/* The word/byte swap controls here control register access byte
* swapping. DMA data byte swapping is controlled in the GRC_MODE
-Index: linux-2.6.25.1/drivers/net/tg3.h
-===================================================================
---- linux-2.6.25.1.orig/drivers/net/tg3.h 2008-05-07 22:45:24.000000000 +0100
-+++ linux-2.6.25.1/drivers/net/tg3.h 2008-05-07 23:02:12.000000000 +0100
+--- a/drivers/net/tg3.h
++++ b/drivers/net/tg3.h
@@ -2477,6 +2477,9 @@ struct tg3 {
#define TG3_FLG3_ENABLE_APE 0x00000002
#define TG3_FLG3_5761_5784_AX_FIXES 0x00000004
struct tg3_hw_stats *hw_stats;
dma_addr_t stats_mapping;
-Index: linux-2.6.25.1/drivers/ssb/driver_mipscore.c
-===================================================================
---- linux-2.6.25.1.orig/drivers/ssb/driver_mipscore.c 2008-05-07 22:45:33.000000000 +0100
-+++ linux-2.6.25.1/drivers/ssb/driver_mipscore.c 2008-05-07 22:57:40.000000000 +0100
+--- a/drivers/ssb/driver_mipscore.c
++++ b/drivers/ssb/driver_mipscore.c
@@ -212,6 +212,7 @@ void ssb_mipscore_init(struct ssb_mipsco
/* fallthrough */
case SSB_DEV_PCI: