diff options
Diffstat (limited to 'target/linux/generic/patches-3.10/020-ssb_update.patch')
-rw-r--r-- | target/linux/generic/patches-3.10/020-ssb_update.patch | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/target/linux/generic/patches-3.10/020-ssb_update.patch b/target/linux/generic/patches-3.10/020-ssb_update.patch index 3287186b5d..1605705251 100644 --- a/target/linux/generic/patches-3.10/020-ssb_update.patch +++ b/target/linux/generic/patches-3.10/020-ssb_update.patch @@ -1,6 +1,13 @@ --- a/drivers/ssb/Kconfig +++ b/drivers/ssb/Kconfig -@@ -144,7 +144,7 @@ config SSB_SFLASH +@@ -138,13 +138,13 @@ config SSB_DRIVER_MIPS + + config SSB_SFLASH + bool "SSB serial flash support" +- depends on SSB_DRIVER_MIPS && BROKEN ++ depends on SSB_DRIVER_MIPS + default y + # Assumption: We are on embedded, if we compile the MIPS core. config SSB_EMBEDDED bool @@ -68,28 +75,32 @@ u32 id, id2; switch (cc->capabilities & SSB_CHIPCO_CAP_FLASHT) { -@@ -131,9 +145,21 @@ int ssb_sflash_init(struct ssb_chipcommo +@@ -131,10 +145,20 @@ int ssb_sflash_init(struct ssb_chipcommo return -ENOTSUPP; } +- pr_info("Found %s serial flash (blocksize: 0x%X, blocks: %d)\n", +- e->name, e->blocksize, e->numblocks); +- +- pr_err("Serial flash support is not implemented yet!\n"); + sflash->window = SSB_FLASH2; + sflash->blocksize = e->blocksize; + sflash->numblocks = e->numblocks; + sflash->size = sflash->blocksize * sflash->numblocks; + sflash->present = true; + - pr_info("Found %s serial flash (blocksize: 0x%X, blocks: %d)\n", - e->name, e->blocksize, e->numblocks); - ++ pr_info("Found %s serial flash (size: %dKiB, blocksize: 0x%X, blocks: %d)\n", ++ e->name, sflash->size / 1024, e->blocksize, e->numblocks); ++ + /* Prepare platform device, but don't register it yet. It's too early, + * malloc (required by device_private_init) is not available yet. */ + ssb_sflash_dev.resource[0].end = ssb_sflash_dev.resource[0].start + + sflash->size; + ssb_sflash_dev.dev.platform_data = sflash; -+ - pr_err("Serial flash support is not implemented yet!\n"); - return -ENOTSUPP; +- return -ENOTSUPP; ++ return 0; + } --- a/drivers/ssb/main.c +++ b/drivers/ssb/main.c @@ -553,6 +553,14 @@ static int ssb_devices_register(struct s |