From: hauke Date: Tue, 28 Jun 2011 19:33:50 +0000 (+0000) Subject: kernel: update ssb and bcma to linux-next next-20110628 X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/6936562161eb76de44dc0a8dc1017fcad3db49ba kernel: update ssb and bcma to linux-next next-20110628 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27299 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/target/linux/brcm47xx/patches-2.6.39/250-ssb_fix_ssb_clock_rate.patch b/target/linux/brcm47xx/patches-2.6.39/250-ssb_fix_ssb_clock_rate.patch deleted file mode 100644 index fe6507b8d..000000000 --- a/target/linux/brcm47xx/patches-2.6.39/250-ssb_fix_ssb_clock_rate.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 974353557959d8ec1c022511cd1b3eeaa7ed482a Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Sat, 4 Jun 2011 15:55:24 +0200 -Subject: [PATCH 15/15] ssb: fix ssb clock rate according to broadcom source - -This fix was done according to si_clock_rate function in broadcom siutils.c - -Signed-off-by: Hauke Mehrtens ---- - drivers/ssb/main.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/ssb/main.c -+++ b/drivers/ssb/main.c -@@ -1002,8 +1002,8 @@ u32 ssb_calc_clock_rate(u32 plltype, u32 - switch (plltype) { - case SSB_PLLTYPE_6: /* 100/200 or 120/240 only */ - if (m & SSB_CHIPCO_CLK_T6_MMASK) -- return SSB_CHIPCO_CLK_T6_M0; -- return SSB_CHIPCO_CLK_T6_M1; -+ return SSB_CHIPCO_CLK_T6_M1; -+ return SSB_CHIPCO_CLK_T6_M0; - case SSB_PLLTYPE_1: /* 48Mhz base, 3 dividers */ - case SSB_PLLTYPE_3: /* 25Mhz, 2 dividers */ - case SSB_PLLTYPE_4: /* 48Mhz, 4 dividers */ diff --git a/target/linux/brcm47xx/patches-3.0/250-ssb_fix_ssb_clock_rate.patch b/target/linux/brcm47xx/patches-3.0/250-ssb_fix_ssb_clock_rate.patch deleted file mode 100644 index fe6507b8d..000000000 --- a/target/linux/brcm47xx/patches-3.0/250-ssb_fix_ssb_clock_rate.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 974353557959d8ec1c022511cd1b3eeaa7ed482a Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Sat, 4 Jun 2011 15:55:24 +0200 -Subject: [PATCH 15/15] ssb: fix ssb clock rate according to broadcom source - -This fix was done according to si_clock_rate function in broadcom siutils.c - -Signed-off-by: Hauke Mehrtens ---- - drivers/ssb/main.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/ssb/main.c -+++ b/drivers/ssb/main.c -@@ -1002,8 +1002,8 @@ u32 ssb_calc_clock_rate(u32 plltype, u32 - switch (plltype) { - case SSB_PLLTYPE_6: /* 100/200 or 120/240 only */ - if (m & SSB_CHIPCO_CLK_T6_MMASK) -- return SSB_CHIPCO_CLK_T6_M0; -- return SSB_CHIPCO_CLK_T6_M1; -+ return SSB_CHIPCO_CLK_T6_M1; -+ return SSB_CHIPCO_CLK_T6_M0; - case SSB_PLLTYPE_1: /* 48Mhz base, 3 dividers */ - case SSB_PLLTYPE_3: /* 25Mhz, 2 dividers */ - case SSB_PLLTYPE_4: /* 48Mhz, 4 dividers */ diff --git a/target/linux/generic/patches-2.6.39/020-ssb_update.patch b/target/linux/generic/patches-2.6.39/020-ssb_update.patch index 1ee3ad955..8e4ac19ab 100644 --- a/target/linux/generic/patches-2.6.39/020-ssb_update.patch +++ b/target/linux/generic/patches-2.6.39/020-ssb_update.patch @@ -587,6 +587,17 @@ { int err; +@@ -1001,8 +1002,8 @@ u32 ssb_calc_clock_rate(u32 plltype, u32 + switch (plltype) { + case SSB_PLLTYPE_6: /* 100/200 or 120/240 only */ + if (m & SSB_CHIPCO_CLK_T6_MMASK) +- return SSB_CHIPCO_CLK_T6_M0; +- return SSB_CHIPCO_CLK_T6_M1; ++ return SSB_CHIPCO_CLK_T6_M1; ++ return SSB_CHIPCO_CLK_T6_M0; + case SSB_PLLTYPE_1: /* 48Mhz base, 3 dividers */ + case SSB_PLLTYPE_3: /* 25Mhz, 2 dividers */ + case SSB_PLLTYPE_4: /* 48Mhz, 4 dividers */ @@ -1117,23 +1118,22 @@ static u32 ssb_tmslow_reject_bitmask(str { u32 rev = ssb_read32(dev, SSB_IDLOW) & SSB_IDLOW_SSBREV; @@ -749,15 +760,16 @@ return 1; } #endif /* CONFIG_SSB_PCIHOST */ -@@ -307,7 +310,7 @@ int ssb_bus_scan(struct ssb_bus *bus, +@@ -307,8 +310,7 @@ int ssb_bus_scan(struct ssb_bus *bus, } else { if (bus->bustype == SSB_BUSTYPE_PCI) { bus->chip_id = pcidev_to_chipid(bus->host_pci); - pci_read_config_word(bus->host_pci, PCI_REVISION_ID, -+ pci_read_config_byte(bus->host_pci, PCI_REVISION_ID, - &bus->chip_rev); +- &bus->chip_rev); ++ bus->chip_rev = bus->host_pci->revision; bus->chip_package = 0; } else { + bus->chip_id = 0x4710; --- a/drivers/ssb/sprom.c +++ b/drivers/ssb/sprom.c @@ -17,7 +17,7 @@ diff --git a/target/linux/generic/patches-2.6.39/025-bcma_backport.patch b/target/linux/generic/patches-2.6.39/025-bcma_backport.patch index 333a3b57b..07b278e8c 100644 --- a/target/linux/generic/patches-2.6.39/025-bcma_backport.patch +++ b/target/linux/generic/patches-2.6.39/025-bcma_backport.patch @@ -916,7 +916,7 @@ +} --- /dev/null +++ b/drivers/bcma/main.c -@@ -0,0 +1,254 @@ +@@ -0,0 +1,255 @@ +/* + * Broadcom specific AMBA + * Bus subsystem @@ -926,6 +926,7 @@ + +#include "bcma_private.h" +#include ++#include + +MODULE_DESCRIPTION("Broadcom's specific AMBA driver"); +MODULE_LICENSE("GPL"); diff --git a/target/linux/generic/patches-3.0/020-ssb_update.patch b/target/linux/generic/patches-3.0/020-ssb_update.patch index 3282ff0d7..a310d90f9 100644 --- a/target/linux/generic/patches-3.0/020-ssb_update.patch +++ b/target/linux/generic/patches-3.0/020-ssb_update.patch @@ -166,6 +166,17 @@ { int err; +@@ -1001,8 +1002,8 @@ u32 ssb_calc_clock_rate(u32 plltype, u32 + switch (plltype) { + case SSB_PLLTYPE_6: /* 100/200 or 120/240 only */ + if (m & SSB_CHIPCO_CLK_T6_MMASK) +- return SSB_CHIPCO_CLK_T6_M0; +- return SSB_CHIPCO_CLK_T6_M1; ++ return SSB_CHIPCO_CLK_T6_M1; ++ return SSB_CHIPCO_CLK_T6_M0; + case SSB_PLLTYPE_1: /* 48Mhz base, 3 dividers */ + case SSB_PLLTYPE_3: /* 25Mhz, 2 dividers */ + case SSB_PLLTYPE_4: /* 48Mhz, 4 dividers */ --- a/drivers/ssb/pcihost_wrapper.c +++ b/drivers/ssb/pcihost_wrapper.c @@ -53,8 +53,8 @@ static int ssb_pcihost_resume(struct pci @@ -188,3 +199,15 @@ { driver->probe = ssb_pcihost_probe; driver->remove = ssb_pcihost_remove; +--- a/drivers/ssb/scan.c ++++ b/drivers/ssb/scan.c +@@ -310,8 +310,7 @@ int ssb_bus_scan(struct ssb_bus *bus, + } else { + if (bus->bustype == SSB_BUSTYPE_PCI) { + bus->chip_id = pcidev_to_chipid(bus->host_pci); +- pci_read_config_byte(bus->host_pci, PCI_REVISION_ID, +- &bus->chip_rev); ++ bus->chip_rev = bus->host_pci->revision; + bus->chip_package = 0; + } else { + bus->chip_id = 0x4710; diff --git a/target/linux/generic/patches-3.0/025-bcma_backport.patch b/target/linux/generic/patches-3.0/025-bcma_backport.patch index 8f02d9e80..1e6179470 100644 --- a/target/linux/generic/patches-3.0/025-bcma_backport.patch +++ b/target/linux/generic/patches-3.0/025-bcma_backport.patch @@ -200,7 +200,15 @@ }; --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c -@@ -89,6 +89,8 @@ static int bcma_register_cores(struct bc +@@ -7,6 +7,7 @@ + + #include "bcma_private.h" + #include ++#include + + MODULE_DESCRIPTION("Broadcom's specific AMBA driver"); + MODULE_LICENSE("GPL"); +@@ -89,6 +90,8 @@ static int bcma_register_cores(struct bc switch (bus->hosttype) { case BCMA_HOSTTYPE_PCI: core->dev.parent = &bus->host_pci->dev; @@ -209,7 +217,7 @@ break; case BCMA_HOSTTYPE_NONE: case BCMA_HOSTTYPE_SDIO: -@@ -144,6 +146,13 @@ int bcma_bus_register(struct bcma_bus *b +@@ -144,6 +147,13 @@ int bcma_bus_register(struct bcma_bus *b bcma_core_pci_init(&bus->drv_pci); } @@ -223,7 +231,7 @@ /* Register found cores */ bcma_register_cores(bus); -@@ -151,13 +160,11 @@ int bcma_bus_register(struct bcma_bus *b +@@ -151,13 +161,11 @@ int bcma_bus_register(struct bcma_bus *b return 0; }