aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/patches-2.6.35/080-mtd_plat_nand_chip_fixup.patch17
-rw-r--r--target/linux/generic/patches-2.6.35/975-ssb_update.patch63
2 files changed, 29 insertions, 51 deletions
diff --git a/target/linux/generic/patches-2.6.35/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic/patches-2.6.35/080-mtd_plat_nand_chip_fixup.patch
index e04b754d8c..837e3a512b 100644
--- a/target/linux/generic/patches-2.6.35/080-mtd_plat_nand_chip_fixup.patch
+++ b/target/linux/generic/patches-2.6.35/080-mtd_plat_nand_chip_fixup.patch
@@ -1,5 +1,10 @@
---- a/include/linux/mtd/nand.h
-+++ b/include/linux/mtd/nand.h
+---
+ drivers/mtd/nand/plat_nand.c | 13 ++++++++++++-
+ include/linux/mtd/nand.h | 1 +
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+--- linux-2.6.35.3.orig/include/linux/mtd/nand.h
++++ linux-2.6.35.3/include/linux/mtd/nand.h
@@ -512,6 +512,7 @@ struct platform_nand_chip {
int chip_delay;
unsigned int options;
@@ -8,14 +13,14 @@
void (*set_parts)(uint64_t size,
struct platform_nand_chip *chip);
void *priv;
---- a/drivers/mtd/nand/plat_nand.c
-+++ b/drivers/mtd/nand/plat_nand.c
+--- linux-2.6.35.3.orig/drivers/mtd/nand/plat_nand.c
++++ linux-2.6.35.3/drivers/mtd/nand/plat_nand.c
@@ -91,7 +91,18 @@ static int __devinit plat_nand_probe(str
}
/* Scan to find existance of the device */
-- if (nand_scan(&data->mtd, 1)) {
-+ if (nand_scan_ident(&data->mtd, 1, NULL)) {
+- if (nand_scan(&data->mtd, pdata->chip.nr_chips)) {
++ if (nand_scan_ident(&data->mtd, pdata->chip.nr_chips, NULL)) {
+ res = -ENXIO;
+ goto out;
+ }
diff --git a/target/linux/generic/patches-2.6.35/975-ssb_update.patch b/target/linux/generic/patches-2.6.35/975-ssb_update.patch
index 8c2ab867e9..c41069cfea 100644
--- a/target/linux/generic/patches-2.6.35/975-ssb_update.patch
+++ b/target/linux/generic/patches-2.6.35/975-ssb_update.patch
@@ -1,5 +1,13 @@
---- a/drivers/net/b44.c
-+++ b/drivers/net/b44.c
+---
+ drivers/net/b44.c | 146 +++++++++++++++------------------
+ drivers/ssb/driver_chipcommon.c | 24 +++++
+ drivers/ssb/driver_chipcommon_pmu.c | 17 +--
+ drivers/ssb/main.c | 76 -----------------
+ include/linux/ssb/ssb.h | 159 ------------------------------------
+ 5 files changed, 104 insertions(+), 318 deletions(-)
+
+--- linux-2.6.35.3.orig/drivers/net/b44.c
++++ linux-2.6.35.3/drivers/net/b44.c
@@ -135,7 +135,6 @@ static void b44_init_rings(struct b44 *)
static void b44_init_hw(struct b44 *, int);
@@ -315,8 +323,8 @@
dma_desc_sync_size = max_t(unsigned int, dma_desc_align_size, sizeof(struct dma_desc));
err = b44_pci_init();
---- a/drivers/ssb/driver_chipcommon.c
-+++ b/drivers/ssb/driver_chipcommon.c
+--- linux-2.6.35.3.orig/drivers/ssb/driver_chipcommon.c
++++ linux-2.6.35.3/drivers/ssb/driver_chipcommon.c
@@ -209,6 +209,24 @@ static void chipco_powercontrol_init(str
}
}
@@ -355,16 +363,8 @@
if (!(cc->capabilities & SSB_CHIPCO_CAP_PCTL))
return;
-@@ -235,6 +259,7 @@ void ssb_chipcommon_init(struct ssb_chip
- return; /* We don't have a ChipCommon */
- if (cc->dev->id.revision >= 11)
- cc->status = chipco_read32(cc, SSB_CHIPCO_CHIPSTAT);
-+ ssb_dprintk(KERN_INFO PFX "chipcommon status is 0x%x\n", cc->status);
- ssb_pmu_init(cc);
- chipco_powercontrol_init(cc);
- ssb_chipco_set_clockmode(cc, SSB_CLKMODE_FAST);
---- a/drivers/ssb/driver_chipcommon_pmu.c
-+++ b/drivers/ssb/driver_chipcommon_pmu.c
+--- linux-2.6.35.3.orig/drivers/ssb/driver_chipcommon_pmu.c
++++ linux-2.6.35.3/drivers/ssb/driver_chipcommon_pmu.c
@@ -502,9 +502,9 @@ static void ssb_pmu_resources_init(struc
chipco_write32(cc, SSB_CHIPCO_PMU_MAXRES_MSK, max_msk);
}
@@ -398,8 +398,8 @@
ssb_pmu_pll_init(cc);
ssb_pmu_resources_init(cc);
}
---- a/drivers/ssb/main.c
-+++ b/drivers/ssb/main.c
+--- linux-2.6.35.3.orig/drivers/ssb/main.c
++++ linux-2.6.35.3/drivers/ssb/main.c
@@ -486,6 +486,7 @@ static int ssb_devices_register(struct s
#ifdef CONFIG_SSB_PCIHOST
sdev->irq = bus->host_pci->irq;
@@ -497,35 +497,8 @@
int ssb_bus_may_powerdown(struct ssb_bus *bus)
{
struct ssb_chipcommon *cc;
---- a/drivers/ssb/pci.c
-+++ b/drivers/ssb/pci.c
-@@ -626,11 +626,22 @@ static int ssb_pci_sprom_get(struct ssb_
- return -ENODEV;
- }
- if (bus->chipco.dev) { /* can be unavailible! */
-- bus->sprom_offset = (bus->chipco.dev->id.revision < 31) ?
-- SSB_SPROM_BASE1 : SSB_SPROM_BASE31;
-+ /*
-+ * get SPROM offset: SSB_SPROM_BASE1 except for
-+ * chipcommon rev >= 31 or chip ID is 0x4312 and
-+ * chipcommon status & 3 == 2
-+ */
-+ if (bus->chipco.dev->id.revision >= 31)
-+ bus->sprom_offset = SSB_SPROM_BASE31;
-+ else if (bus->chip_id == 0x4312 &&
-+ (bus->chipco.status & 0x03) == 2)
-+ bus->sprom_offset = SSB_SPROM_BASE31;
-+ else
-+ bus->sprom_offset = SSB_SPROM_BASE1;
- } else {
- bus->sprom_offset = SSB_SPROM_BASE1;
- }
-+ ssb_dprintk(KERN_INFO PFX "SPROM offset is 0x%x\n", bus->sprom_offset);
-
- buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL);
- if (!buf)
---- a/include/linux/ssb/ssb.h
-+++ b/include/linux/ssb/ssb.h
+--- linux-2.6.35.3.orig/include/linux/ssb/ssb.h
++++ linux-2.6.35.3/include/linux/ssb/ssb.h
@@ -167,7 +167,7 @@ struct ssb_device {
* is an optimization. */
const struct ssb_bus_ops *ops;